알고리즘/문제
[DFS] 프로그래머스 여행경로
_Min
2021. 5. 14. 15:15
문제링크 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