-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path여행경로.py
More file actions
20 lines (19 loc) · 764 Bytes
/
여행경로.py
File metadata and controls
20 lines (19 loc) · 764 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from collections import deque
def solution(tickets):
tickets.sort(key=lambda x: x[1])
start_indexes = [start_index for start_index in range(len(tickets)) if tickets[start_index][0] == "ICN"]
answer = 0
for start_index in start_indexes:
if answer:
continue
dq = deque([[start_index]])
while dq:
cur_idxs = dq.popleft()
if len(cur_idxs) == len(tickets):
answer = [tickets[x][0] for x in cur_idxs] + [tickets[cur_idxs[-1]][1]]
break
cur_idx = cur_idxs[-1]
for idx in range(len(tickets)):
if idx not in cur_idxs and tickets[cur_idx][1] == tickets[idx][0]:
dq.append(cur_idxs+[idx])
return answer