여행경로
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 내 풀이
- 종료조건 따지려고 경로마다 num 붙여서 visited 생성
- 근데 이전에 내 풀이 보니까 if len(path)== len(tickets)+1 해도 됐음ㅋㅋ
- 무조건 인천에서 시작한다
- 해당 경로 방문 유무 백트래킹
- 종료조건 따지려고 경로마다 num 붙여서 visited 생성
from collections import defaultdict
def solution(tickets):
graph=defaultdict(list)
num=0
for ticket in tickets:
s,e=ticket
graph[s].append((e,num))
num+=1
def dfs(cur, path, visited):
if False not in visited:
result.append(path)
for nxt,key in graph[cur]:
if visited[key]==True:
continue
visited[key]=True
dfs(nxt, path+[nxt], visited)
visited[key]=False
result=[]
visited=[False]*(len(tickets))
dfs("ICN", ["ICN"], visited)
return sorted(result)[0]
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스][BFS] 지게차와 크레인 (0) | 2025.02.17 |
|---|---|
| [프로그래머스][구현] 문자열 압축 (1) | 2025.02.08 |
| [프로그래머스][다익스트라] 배달 (1) | 2025.02.06 |
| [프로그래머스][구현][완전 탐색] 메뉴 리뉴얼 (1) | 2025.02.04 |
| [프로그래머스][그리디] 단속카메라 (0) | 2025.02.04 |