728x90
반응형
https://programmers.co.kr/learn/courses/30/lessons/43164?language=python3#
최종 코드
from collections import defaultdict
def dfs(t_from, visit, t_dict, num):
global answer
visit += t_from
if len(visit)//3 == num:
if answer=="":
answer = visit
else: answer=min(visit, answer)
return
if len(t_dict[t_from]) == 0:
return
for i, t_to in enumerate(t_dict[t_from]):
if t_to[1]==False:
t_dict[t_from][i][1] = True
dfs(t_to[0], visit, t_dict, num)
t_dict[t_from][i][1] = False
def solution(tickets):
global answer
answer = ""
t_dict = defaultdict(list)
for k, v in tickets:
t_dict[k].append([v,False])
t_dict[k].sort()
dfs("ICN", "", t_dict, len(tickets)+1)
return list(map(''.join, zip(*[iter(answer)]*3)))
풀이 과정
풀이 시간 1시간 11분
티켓 [a, b]는 a->b로 가기 때문에 이러한 tickets정보를 정리하기 위해 t_dict를 만들어줬다.
728x90
반응형
'코테 노트 > 프로그래머스' 카테고리의 다른 글
Level 2 소수 찾기 Python3 (0) | 2021.06.28 |
---|---|
Level 1 모의고사 Python3 (0) | 2021.06.28 |
Level 2 [1차] 프랜즈 4블록 <KAKAO 2018 BLIND RECRUITMENT> (0) | 2021.02.09 |
Level 2 [1차] 뉴스 클러스터링 <KAKAO 2018 BLIND RECRUITMENT> (0) | 2021.02.09 |
Level 2 [1차] 캐시 <KAKAO 2018 BLIND RECRUITMENT> (0) | 2021.02.09 |