[プログラマー]旅行ルート/43614号/Python/PSN/DFS
1253 ワード
💡質問する
与えられたすべての航空券を利用して旅行ルートを作りたいです.いつもICN空港から
航空券情報を含む2次元配列航空券をパラメータとして指定する場合は、アクセスした空港経路をレイアウトに入れて返します.
せいげんじょうけんすべての空港はアルファベットの大文字の3文字で構成されています. 所定の空港数は3つ以上10000個以下である. 切符の各行[a,b]は、a空港からb空港までの航空券があることを示す. の航空券はすべて使用します. 可能なパスが2つ以上ある場合は、アルファベット順にリードするパスを返します. すべての都市へのアクセスは許可されていません. にゅうしゅつりょく
ticketsreturn[[ICN, JFK], [HND, IAD], [JFK, HND]][ICN, JFK, HND, IAD][[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]][ICN, ATL, ICN, SFO, ATL, SFO]
📖私が書いたコード
与えられたすべての航空券を利用して旅行ルートを作りたいです.いつもICN空港から
航空券情報を含む2次元配列航空券をパラメータとして指定する場合は、アクセスした空港経路をレイアウトに入れて返します.
せいげんじょうけん
ticketsreturn[[ICN, JFK], [HND, IAD], [JFK, HND]][ICN, JFK, HND, IAD][[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]][ICN, ATL, ICN, SFO, ATL, SFO]
📖私が書いたコード
def solution(tickets):
res = []
answer=[]
def DFS(start,ticket_list,res):
res.append(start)
if len(ticket_list)==1:
res.append(ticket_list[0][1])
answer.append(res)
else:
for t in ticket_list:
if start==t[0]:
copy_tList=ticket_list.copy()
copy_tList.remove(t)
DFS(t[1],copy_tList,res.copy())
DFS('ICN',tickets,res)
return min(answer)
質問元:https://programmers.co.kr/learn/courses/30/lessons/43164Reference
この問題について([プログラマー]旅行ルート/43614号/Python/PSN/DFS), 我々は、より多くの情報をここで見つけました https://velog.io/@wjdtmdgml/프로그래머스여행-경로43164번Python파이썬DFSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol