Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv3. 여행경로 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/43164
- 스택을 활용한 DFS를 사용
def solution(tickets):
answer = []
graph = {i[0] : [] for i in tickets}
for i in tickets:
graph[i[0]].append(i[1])
for i in graph:
graph[i] = sorted(graph[i], reverse=True)
stack = ["ICN"] # 출발 위치
while stack:
top = stack[-1] # 스택의 가장 위 요소(출발지)
if top not in graph or not graph[top] : # 출발지가 없거나, 도착할 곳이 없으면
answer.append(stack.pop()) # 스택에서 빼서 정답에 넣어준다.
else: # 도착할 곳이 있으면
stack.append(graph[top].pop()) # 스택에 도착지를 넣어준다.
answer.reverse()
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 이진 변환 반복하기 [Python, 파이썬] (0) | 2023.03.31 |
---|---|
[프로그래머스] Lv.3 정수 삼각형 [Python, 파이썬] (0) | 2023.03.24 |
[프로그래머스] Lv.3 아이템 줍기 [Python, 파이썬] (0) | 2023.03.24 |
[프로그래머스] Lv.3 가장 먼 노드 (그래프) [Python, 파이썬] (0) | 2023.03.17 |
[프로그래머스] Lv.3 네트워크 (DFS) [Python, 파이썬] (0) | 2023.03.12 |
Comments