Github & Portfolio
๐ Problem Solving/์ด์ทจ์ฝ(3)
-
[์ด์ทจ์ฝ-๊ทธ๋ํ ์ด๋ก ] ๊ฐ์ ๋ ์๋ก์ ์งํฉ ์๊ณ ๋ฆฌ์ฆ ์์ค์ฝ๋ / Python
์ ๋ ฅ ์์ 6 4 # ๋ ธ๋์ ๊ฐ์ ์ ๊ฐ์ 1 4 # ๋ ธ๋์ ๋ ธ๋ ์ฌ์ด์ ์ฐ๊ฒฐ ๊ด๊ณ 2 3 2 4 5 6 ์ถ๋ ฅ ์์ ๊ฐ ์์๊ฐ ์ํ ์งํฉ: 1 1 1 1 5 5 ๋ถ๋ชจ ํ ์ด๋ธ: 1 1 1 1 5 5 import sys input = sys.stdin.readline def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] def union_parent(parent, a, b): a = find_parent(parent, a) b = find_parent(parent, b) if a < b: parent[b] = a else: parent[a] = b v, e = map(int..
-
[์ด์ทจ์ฝ-์ต๋จ๊ฒฝ๋ก] ์ ๋ณด / Python
๋ฌธ์ ์ด๋ค ๋๋ผ์๋ N๊ฐ์ ๋์๊ฐ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋์๋ ๋ณด๋ด๊ณ ์ ํ๋ ๋ฉ์์ง๊ฐ ์๋ ๊ฒฝ์ฐ, ๋ค๋ฅธ ๋์๋ก ์ ๋ณด๋ฅผ ๋ณด๋ด์ ๋ค๋ฅธ ๋์๋ก ํด๋น ๋ฉ์์ง๋ฅผ ์ ์กํ ์ ์๋ค. ํ์ง๋ง X๋ผ๋ ๋์์์ Y๋ผ๋ ๋์๋ก ์ ๋ณด๋ฅผ ๋ณด๋ด๊ณ ์ ํ๋ค๋ฉด, ๋์ X์์ Y๋ก ํฅํ๋ ํต๋ก๊ฐ ์ค์น๋์ด ์์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด X์์ Y๋ก ํฅํ๋ ํต๋ก๋ ์์ง๋ง, Y์์ X๋ก ํฅํ๋ ํต๋ก๊ฐ ์๋ค๋ฉด Y๋ X๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋ค. ๋ํ ํต๋ก๋ฅผ ๊ฑฐ์ณ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋๋ ์ผ์ ์๊ฐ์ด ์์๋๋ค. ์ด๋ ๋ C๋ผ๋ ๋์์์ ์๊ธ ์ํฉ์ด ๋ฐ์ํ๋ค. ๊ทธ๋์ ์ต๋ํ ๋ง์ ๋์๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ์ ํ๋ค. ๋ฉ์์ง๋ ๋์ C์์ ์ถ๋ฐํ์ฌ ๊ฐ ๋์ ์ฌ์ด์ ์ค์น๋ ํต๋ก๋ฅผ ๊ฑฐ์ณ, ์ต๋ํ ๋ง์ด ํผ์ ธ๋๊ฐ ๊ฒ์ด๋ค. ๊ฐ ๋์์ ๋ฒํธ์ ํต๋ก๊ฐ ์ค์น๋์ด ์๋ ์ ๋ณด๊ฐ ์ฃผ์ด์ก..
-
[์ด์ทจ์ฝ-์ต๋จ ๊ฒฝ๋ก] ๊ฐ์ ๋ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ / Python
์ ๋ ฅ 1. ๋ ธ๋ ๊ฐ์, ๊ฐ์ ๊ฐ์ ์ ๋ ฅ 2. ์์ ๋ ธ๋ ์ ๋ ฅ 3. ๊ฐ์ ๊ฐ์์ ๋ผ์ธ๋งํผ a, b, c ์ ๋ ฅ (a -> b, c์ ๋น์ฉ) ์ถ๋ ฅ ์์๋ ธ๋๋ก๋ถํฐ ๊ฐ ๋ ธ๋๊น์ง์ ๋น์ฉ ์ถ๋ ฅ import heapq INF = int(1e9) # ๋ฌดํ์ ์๋ฏธํ๋ ๊ฐ์ผ๋ก 10์ต์ ์ค์ # ๋ ธ๋์ ๊ฐ์, ๊ฐ์ ์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๊ธฐ n, m = map(int, input().split()) # ์์ ๋ ธ๋ ๋ฒํธ๋ฅผ ์ ๋ ฅ๋ฐ๊ธฐ start = int(input()) # ๊ฐ ๋ ธ๋์ ์ฐ๊ฒฐ๋์ด ์๋ ๋ ธ๋์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๊ธฐ graph = [[] for i in range(n + 1)] # ์ต๋จ ๊ฑฐ๋ฆฌ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฌดํ์ผ๋ก ์ด๊ธฐํ distance = [INF] * (n + 1) # ๋ชจ๋ ๊ฐ์ ์ ๋ณด๋ฅผ ์ ๋ ฅ๋ฐ๊ธฐ for _ in ..