[프로그래머스] 여행경로 Python (파이썬)

2022. 11. 9. 11:10·Algorithm (PS)
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/43164

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

dfs로 풀어야 겠다고 떠올렸다 

그런데 보통 입력이 숫자로 주어졌고, 나는 그래프를 표현할 때 주로 이차원 리스트를 사용했는데 

각각의 node에 해당하는 공항 이름들이 문자열이다보니, 처리를 쉽게 하기 위해서는 dictionary 자료형이 낫다고 생각했다. 

내가 좋아하는.. 쓰기 편한 defaultdict으로 초기화 없이 우선 정의해주고, 

for 문에서 각각 그래프와, visited 딕셔너리에 False값을 넣어 처리해주었다. 

from collections import defaultdict
def solution(tickets):
    answer = []
    n = len(tickets)
    graph = defaultdict(list)
    visited = defaultdict(list)
    for i in range(n):
        graph[tickets[i][0]].append(tickets[i][1])
        visited[tickets[i][0]].append(False)
    
    def dfs(start, path):
        if len(path) == n+1:
            answer.append(path)
            return 
        
        for i in range(len(graph[start])):
            if not visited[start][i]:
                visited[start][i] = True 
                dfs(graph[start][i],path+[graph[start][i]])
                visited[start][i] = False 
    
    
    dfs("ICN", ["ICN"])
    
    answer.sort()
    return answer[0]
728x90

'Algorithm (PS)' 카테고리의 다른 글

[백준] 15787 기차가 어둠을 헤치고 은하수를 Python  (0) 2022.11.11
[백준] 21278번 호석이 두 마리 치킨 Python (BFS풀이, 플로이드워셜)  (0) 2022.11.09
[백준] 15927 파이썬 - 회문은 회문아니야!!  (0) 2022.11.05
[백준] 13022 : 늑대와 올바른 단어 Python/파이썬 풀이  (0) 2022.11.04
[백준] 2470 두 용액 파이썬  (0) 2022.10.30
'Algorithm (PS)' 카테고리의 다른 글
  • [백준] 15787 기차가 어둠을 헤치고 은하수를 Python
  • [백준] 21278번 호석이 두 마리 치킨 Python (BFS풀이, 플로이드워셜)
  • [백준] 15927 파이썬 - 회문은 회문아니야!!
  • [백준] 13022 : 늑대와 올바른 단어 Python/파이썬 풀이
minjiwoo
minjiwoo
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
minjiwoo
minji's engineering note
minjiwoo
전체
오늘
어제
  • 분류 전체보기 (613)
    • Data Engineering (42)
      • Apache Spark (11)
      • Databricks & Delta Lake (9)
      • Airflow (3)
      • SQL (6)
      • Trouble Shooting (2)
      • Hadoop (2)
      • MLOps (1)
    • Cloud Engineering (104)
      • AWS (23)
      • Linux 🐧 (29)
      • Docker 🐳 (21)
      • Kubernetes ⚙️ (20)
      • Ansible (10)
    • Computer Science (87)
      • 네트워크 (9)
      • 운영체제 (25)
      • 정보처리기사 (48)
      • CS 기술 면접 스터디 (3)
    • Programming Languages (27)
      • Python (17)
      • C와 C++ (10)
    • Backend (5)
      • Django (2)
    • 프로젝트 (2)
      • 테크포임팩트 (2)
    • iOS (11)
      • 레이블러리 (2)
    • Algorithm (PS) (275)
      • LeetCode (6)
    • 개발일기 (30)
      • 내돈내산 후기🎮 (3)
      • 개발자 취준생 (5)
      • Today I Learned (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Hi there

인기 글

태그

  • BFS
  • 빅데이터
  • 스파크
  • 데이터브릭스
  • python
  • 백준
  • 알고리즘
  • ansible
  • 클라우드
  • Swift
  • dfs
  • EC2
  • SPARK
  • Databricks
  • 쿠버네티스
  • linux
  • 데이터엔지니어링
  • Leetcode
  • 코딩테스트
  • 파이썬
  • 데이터엔지니어
  • 백트래킹
  • dp
  • 프로그래머스
  • 리눅스
  • 카카오코딩테스트
  • 운영체제
  • docker
  • Kubernetes
  • AWS

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
minjiwoo
[프로그래머스] 여행경로 Python (파이썬)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.