깊이우선탐색 4

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

https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도 LV3 문제 설명 [출발지,도착지] 형태로 적힌 항공권 정보 List가 주어진다. 출발지는 항상 ICN 공항에서 출발하며 모든 항공권을 사용해야 한다. 이를 만족하는 경로를 Return하고 만약 만족하는 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 Return한다. 접근법 스택에 ICN을 넣어준다. 출발지와 도착지 정보가 담긴 dictionary 배열의 key(출발지) 와 valu..

[baekjoon] 백준 10026번 : 적록색약 (by python) bfs dfs

https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 정답 code -bfs활용 #적록색약 from collections import deque import sys input = sys.stdin.readline dx = [-1,1,0,0] dy = [0,0,-1,1] def bfs(x,y): q.append([x,y]) visit[x][y] = cnt while q: x, y = q.popleft() for i in range(4): nx ..

[baekjoon] 백준 11724번 : 연결 요소의 개수 (by python) dfs,bfs

https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 정답 code -DFS풀이 #연결 요소의 개수 import sys sys.setrecursionlimit(5000) input = sys.stdin.readline #dfs풀이 def dfs(x): visited[x] = True for i in c[x]: if not visited[i]: dfs(i) n, m = map(int,inp..

[baekjoon] 백준 2606번 : 바이러스 (by python 파이썬) bfs dfs 두가지 풀이

https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 정답 code -dfs 활용 #dfs이용 def dfs(com, x): global cnt visited[x] = True for i in com[x]: if visited[i] == False: dfs(com,i) cnt += 1 return True n = int(input()) c = int(input()) cnt = 0 com = [[] for _ in range(n+1)] for _ in ra..