dfs(5)
-
[BOJ] #1325 - ํจ์จ์ ์ธ ํดํน
max_value: result = [i] max_value = c elif c == max_value: result.append(i) max_value = c for e in result: print(e, end=" ")
2021.06.22 -
[BOJ] #1012 - ์ ๊ธฐ๋ ๋ฐฐ์ถ
1012๋ฒ: ์ ๊ธฐ๋ ๋ฐฐ์ถ ์ฐจ์ธ๋ ์๋์ธ ํ๋๋ ๊ฐ์๋ ๊ณ ๋ญ์ง์์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๊ธฐ๋ก ํ์๋ค. ๋์ฝ์ ์ฐ์ง ์๊ณ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ค๋ฉด ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์, ํ๋๋ ํด์ถฉ ๋ฐฉ์ง์ www.acmicpc.net ** ๋ฌธ์ ์ ํ DFS, BFS ** ํ์ด ์ฐ๊ฒฐ ์์์ ๊ฐ์๋ฅผ ์ธ๋ ๋ฌธ์ ๋ชจ๋ ์ ์ ์ ๋ํ์ฌ DFS or BFS๋ฅผ ์ํํ๊ณ , ํ๋ฒ ๋ฐฉ๋ฌธํ ์ ์ ์ ๋ค์ ํ์ธํ์ง ์์ ์ ์ฒด์ ์ผ๋ก DFS or BFS๋ฅผ ์ํํ ์ด ํ์๋ฅผ ๊ณ์ฐ DFS or BFS ์์ฉ ๋ฌธ์ ์ค์์ ์ถ์ ๋น์ค์ด ๋งค์ฐ ๋์ ์ ํ ์ค ํ๋์ DFS๋ก ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒฝ์ฐ, sys ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ setrecursionlimit() ํจ์ ์ค์ ํ์ # ๋ฐฉ๋ฒ 1 import sys sys.setrecursionlimit(10000..
2021.06.22 -
[BOJ] #2606 - ๋ฐ์ด๋ฌ์ค
2606๋ฒ: ๋ฐ์ด๋ฌ์ค ์ฒซ์งธ ์ค์๋ ์ปดํจํฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ปดํจํฐ์ ์๋ 100 ์ดํ์ด๊ณ ๊ฐ ์ปดํจํฐ์๋ 1๋ฒ ๋ถํฐ ์ฐจ๋ก๋๋ก ๋ฒํธ๊ฐ ๋งค๊ฒจ์ง๋ค. ๋์งธ ์ค์๋ ๋คํธ์ํฌ ์์์ ์ง์ ์ฐ๊ฒฐ๋์ด ์๋ ์ปดํจํฐ ์์ ์๊ฐ ์ฃผ์ด www.acmicpc.net ** ๋ฌธ์ ์ ํ DFS, BFS ** ํ์ด ๋จ์ํ ์์ ์ ์ ์์๋ถํฐ ๋๋ฌํ ์ ์๋ ๋ ธ๋์ ์๋ฅผ ๊ณ์ฐํ๋ ๋ฌธ์ DFS or BFS๋ฅผ ์ด์ฉํ์ฌ ๋ฐฉ๋ฌธํ๊ฒ ๋๋ ๋ ธ๋์ ๊ฐ์๋ฅผ ๊ณ์ฐ ์ปดํจํฐ์ ์๊ฐ ์ ์ผ๋ฏ๋ก, DFS๋ฅผ ์ด์ฉํด ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ์ ๋ฆฌ def dfs(now_pos): global count visited[now_pos] = True for next_pos in adj[now_pos]: if not visited[next_pos]: count += 1 dfs..
2021.06.22 -
[BOJ] #1260 - DFS์ BFS
1260๋ฒ: DFS์ BFS ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ www.acmicpc.net ** ๋ฌธ์ ์ ํ DFS, BFS ** ํ์ด ๊ธฐ๋ณธ์ ์ธ ํํ์ ๊ทธ๋ํ๋ฅผ ๋จ์ํ DFS์ BFS๋ก ํ์ ์ด ๋ฌธ์ ๋ '์ ์ ๋ฒํธ๊ฐ ์์ ๊ฒ'์ ๋จผ์ ๋ฐฉ๋ฌธํด์ผ ํจ ๋ชจ๋ ๋ ธ๋์ ๊ฐ์ ์ ์ฐจ๋ก๋๋ก ์กฐํํ์ฌ ์๊ฐ ๋ณต์ก๋๋ O(N + M) ํ ๊ตฌํ์ ์ํด collections ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ deque ์ฌ์ฉ from collections import deque def dfs(v): # ์ฌ๊ท์ฉ๋ฒ ์ฌ์ฉ print(v, end=' ') visited[..
2021.06.19 -
[์๊ณ ๋ฆฌ์ฆ] #6_3 DFS
** DFS ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ ์๋ฃ๊ตฌ์กฐ ์คํ๊ณผ ํ๋ฅผ ํ์ฉํจ need_visit ์คํ๊ณผ visited ํ, ๋ ๊ฐ์ ์๋ฃ ๊ตฌ์กฐ๋ฅผ ์์ฑ BFS ์๋ฃ๊ตฌ์กฐ๋ ๋ ๊ฐ์ ํ๋ฅผ ํ์ฉํ๋๋ฐ ๋ฐํด, DFS ๋ ์คํ๊ณผ ํ๋ฅผ ํ์ฉํ๋ค๋ ์ฐจ์ด๊ฐ ์์์ ์ธ์งํด์ผ ํจ ํ์ ์คํ ๊ตฌํ์ ๋ณ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ ์๋ ์์ง๋ง, ๊ฐ๋จํ ํ์ด์ฌ ๋ฆฌ์คํธ๋ฅผ ํ์ฉํ ์๋ ์์ def dfs(graph, start_node): visited, need_visit = list(), list() need_visit.append(start_node) while need_visit: node = need_visit.pop() # BFS์ ์ฐจ์ด: ์คํ ์ ์ฑ if node not in visited: visited.append(node) need_visit..
2021.06.05