어디까지 갈 수 있을까?
[DFS] 프로그래머스 여행경로 본문
문제링크 https://programmers.co.kr/learn/courses/30/lessons/43164
[답코드]
def dfs(cand, visit, target):
global n, answer
if len(visit) == n:
answer.append(visit+[target])
return
for i, v in enumerate(cand):
if v[0] == target:
dfs(cand[:i] + cand[i + 1:], visit + [v[0]], v[1])
def solution(tickets):
global n, answer
n = len(tickets)
answer = []
for i, v in enumerate(tickets):
if v[0] == "ICN":
dfs(tickets[:i] + tickets[i + 1:], [v[0]], v[1]) # 후보값, 방문값, 도착값
answer.sort()
return answer[0]
[소감]
아직 dfs 가 어렵다
return 에 의존하기 보다는 global 변수를 지정해서 사용하는 방식이 편해보인다
728x90
'알고리즘 > 문제' 카테고리의 다른 글
[비트마스킹] 백준 1062 가르침 (0) | 2021.05.28 |
---|---|
[BFS] 백준 16940 BFS 스페셜 저지 (0) | 2021.05.27 |
[해시] 프로그래머스 베스트앨범 (0) | 2021.05.07 |
프로그래머스 후보키 (0) | 2021.05.07 |
[문자열] 프로그래머스 프렌즈4블록 (0) | 2021.05.06 |
Comments