๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 1์๊ฐ ๋ฐ ์ด์ (์ค๋ฅ ์ฐพ๊ธฐ) ๋ฌธ์ ์ต๋จ๊ฒฝ๋ก ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ ํ์ด ๋ค์ต์คํธ๋ผ ๊ธฐ๋ณธ ๊ตฌํ์ ์ด์ฉํด์ ํผ๋ค. ๋ค์ต์คํธ๋ผ ๊ฐ๋ ๋ฐ๋ก๊ฐ๊ธฐ ์ฝ๋ #include #include #include using namespace std; int main() { // ์ ๋ ฅ // v, e๋ 10^5, 10^6์ดํ int V; int E; cin >> V >> E; int start; // ์์ ์ ์ cin >> start; vector edge(V+1, vector(0)); for (int i = 0; i > from >> to >> val; edge[from].push_back(make_pair(to..
๋์ด๋ : ๊ณจ๋ 5 ๊ฑธ๋ฆฐ ์๊ฐ : 50๋ถ ๋ฌธ์ ํฉ๋ถํด ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐ 2225๋ฒ: ํฉ๋ถํด ์ฒซ์งธ ์ค์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net 0๋ถํฐ N๊น์ง์ ์ ์ K๊ฐ๋ฅผ ๋ํด์ ๊ทธ ํฉ์ด N์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ง์ ์ ์์๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก ์ผ๋ค(1+2์ 2+1์ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ). ๋ํ ํ ๊ฐ์ ์๋ฅผ ์ฌ๋ฌ ๋ฒ ์ธ ์๋ ์๋ค. ํ์ด ์์ ๋ฌธ์ : ํ์ฌ ๋จ์ N์์ ๋จ์ K๊ฐ๋ก N์ ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์ ์ ์ฌ๊ท ํจ์ : (N, K) => int ์ ํํ ์ฌ์ฉํ๋ ์ i๋ฅผ for๋ฌธ ๋๋ฉด์, j๋ฅผ 1์ฉ ๊ฐ์์์ผ์ ์ฌ๊ท ์ข ๋ฃ ์กฐ๊ฑด N์ด 0์ผ ๋๋ ๋จ์ ์๊ฐ ๋ชจ๋ 0์ธ ๊ฒฝ์ฐ 1๊ฐ์ง๋ง ์กด์ฌ K๊ฐ 0์ด๊ณ N๊ฐ 0์ด ์๋ ๋ ๋จ์ ๊ฒฝ์ฐ..
๊ดํธ ๋ณํ ๋ฌธ์ programmers.co.kr/learn/courses/30/lessons/60058 ๋ฌธ์ ์ค๋ช ์นด์นด์ค์ ์ ์ ๊ฐ๋ฐ์๋ก ์ ์ฌํ ์ฝ์ ์ ๋ฐฐ ๊ฐ๋ฐ์๋ก๋ถํฐ ๊ฐ๋ฐ์ญ๋ ๊ฐํ๋ฅผ ์ํด ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์์ฑํ ์์ค ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ๋ฌธ์ ์ ์ ๋ฐ๊ฒฌํ๊ณ ์์ ํ๋ผ๋ ์ ๋ฌด ๊ณผ์ ๋ฅผ ๋ฐ์์ต๋๋ค. ์์ค๋ฅผ ์ปดํ์ผํ์ฌ ๋ก๊ทธ๋ฅผ ๋ณด๋ ๋๋ถ๋ถ ์์ค ์ฝ๋ ๋ด ์์ฑ๋ ๊ดํธ๊ฐ ๊ฐ์๋ ๋ง์ง๋ง ์ง์ด ๋ง์ง ์์ ํํ๋ก ์์ฑ๋์ด ์ค๋ฅ๊ฐ ๋๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ์์ ํด์ผ ํ ์์ค ํ์ผ์ด ๋๋ฌด ๋ง์์ ๊ณ ๋ฏผํ๋ ์ฝ์ ์์ค ์ฝ๋์ ์์ฑ๋ ๋ชจ๋ ๊ดํธ๋ฅผ ๋ฝ์์ ์ฌ๋ฐ๋ฅธ ์์๋๋ก ๋ฐฐ์น๋ ๊ดํธ ๋ฌธ์์ด์ ์๋ ค์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋ฐํ๋ ค๊ณ ํฉ๋๋ค. ์ฉ์ด์ ์ ์ '(' ์ ')' ๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด ์์ ๊ฒฝ์ฐ, '(' ์ ๊ฐ์์ ')' ์ ๊ฐ..
์ต๋จ ๊ฒฝ๋ก ๊ทธ๋ํ์์ ์ ๋๋๋ ๋ฌธ์ ๋ค ์ค ์ต๋จ ๊ฒฝ๋ก ๋ฌธ์ ๊ฐ ์๋ค. ์ฃผ์ด์ง ๊ทธ๋ํ์์ ํน์ ์ ์ ์์ ๋ค๋ฅธ ์ ์ ๊น์ง์ ์ต๋จ ๊ฒฝ๋ก(๊ฐ์ค์น ํฉ์ด ์ต์์ธ ๊ฒฝ๋ก)๊ฐ ๋ฌด์์ธ์ง๋ฅผ ์์๋ด๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ์ด์ ์ MST ๋ฌธ์ ์ ๋ค๋ฅด๋ค. ๋ชจ๋ ์ ์ ์ ํฌํจํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง MST์์ ์ฌ์ฉํ๋ Prim(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ์์ฉํด์ ๊ตฌํํ ์ ์๋ค. [MST] Dijkstra ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ vertice(์ ์ )๋ 3๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋๋ค. tree vertice(T) : tree์ ์ํด ์๋ ์ ์ fringe vertice (F) : tree์ ํฌํจ๋์ง ์์ผ๋ฉด์ ์ฐ๊ฒฐ๋์ด์๋ ์ ์ unseen vertice (U) : ๋๋จธ์ง MST์์ T์ F์ ์ ์ ์ฌ์ด์ ์ต์ ๊ฐ์ค์น๋ฅผ ๊ณ์ ๊ฐฑ์ ํด์ฃผ์๋ ๊ฒ ๋์ ์, ์ต๋จ..
MST Spanning Tree : ๊ทธ๋ํ ๋ด์ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ ์ฐ์ ํธ๋ฆฌ์ ์ ์๋ connected undirected acyclic graph (์ฐ๊ฒฐ ๋น๋ฐฉํฅ ๋น์ํ ๊ทธ๋ํ)์ด๋ค. ๋ชจ๋ ๋ ธ๋๋ ์ฐ๊ฒฐ๋์ด์์ผ๋ฉฐ, ๋ฐฉํฅ์ฑ์ ์๊ณ ์ํ์ด ์กด์ฌํ์ง ์๋ ๊ทธ๋ํ์ด๋ค. ํ๋์ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ๋ํ ๋ด์์ ์ฌ๋ฌ ํธ๋ฆฌ๋ฅผ ์ฐพ์ ์ ์๋ค. ๊ทธ ์ค ํน๋ณํ๊ฒ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ํธ๋ฆฌ๋ฅผ Spanning Tree๋ผ๊ณ ํ๋ค. ๋ค๋ฅด๊ฒ ๋งํ๋ฉด Spanning tree(์ ์ฅ ํธ๋ฆฌ)๋ ๊ทธ๋ํ์ ๋ถ๋ถ ๊ทธ๋ํ๋ฉด์ ๊ฐ์ ์ ์๊ฐ ๊ฐ์ฅ ์ ์(์ต์ ์ฐ๊ฒฐ) ๊ทธ๋ํ์ด๋ค. ๊ฐ์ด ์์จ๋ค๋ฉด ๊ทธ๋ฆผ์ผ๋ก ์ดํด๋ณด์. ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ก์ ๋, ์ต์ํ์ ๊ฐ์ ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์ ์ ์ ํฌํจํ๋ ๋ถ๋ถ ๊ทธ๋ํ๊ฐ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ๋ค. ์ด ๋ถ..
์ฌํ๊ฒฝ๋ก ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/43164 ๋ฌธ์ ์ค๋ช ์ฃผ์ด์ง ํญ๊ณต๊ถ์ ๋ชจ๋ ์ด์ฉํ์ฌ ์ฌํ๊ฒฝ๋ก๋ฅผ ์ง๋ ค๊ณ ํฉ๋๋ค. ํญ์ ICN ๊ณตํญ์์ ์ถ๋ฐํฉ๋๋ค. ํญ๊ณต๊ถ ์ ๋ณด๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด tickets๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ฐฉ๋ฌธํ๋ ๊ณตํญ ๊ฒฝ๋ก๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ๋ชจ๋ ๊ณตํญ์ ์ํ๋ฒณ ๋๋ฌธ์ 3๊ธ์๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ฃผ์ด์ง ๊ณตํญ ์๋ 3๊ฐ ์ด์ 10,000๊ฐ ์ดํ์ ๋๋ค. tickets์ ๊ฐ ํ [a, b]๋ a ๊ณตํญ์์ b ๊ณตํญ์ผ๋ก ๊ฐ๋ ํญ๊ณต๊ถ์ด ์๋ค๋ ์๋ฏธ์ ๋๋ค. ์ฃผ์ด์ง ํญ๊ณต๊ถ์ ๋ชจ๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ง์ผ ๊ฐ๋ฅํ ๊ฒฝ๋ก๊ฐ 2๊ฐ ์ด์์ผ ๊ฒฝ์ฐ ์ํ๋ฒณ ์์๊ฐ ์์๋ ๊ฒฝ๋ก๋ฅผ return ํฉ..
ํ๊ฒ ๋๋ฒ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/43165 ๋ฌธ์ ์ค๋ช n๊ฐ์ ์์ด ์๋ ์ ์๊ฐ ์์ต๋๋ค. ์ด ์๋ฅผ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ ์์ต๋๋ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์ฌ์ฉํ ์ ์๋ ์ซ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers, ํ๊ฒ ๋๋ฒ target์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ซ์๋ฅผ ์ ์ ํ ๋ํ๊ณ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ ์ฃผ์ด์ง๋ ์ซ์์ ๊ฐ์๋ 2๊ฐ ์ด์ ..
์์ฅ ๋ฌธ์ https://programmers.co.kr/learn/courses/30/lessons/42578 ๋ฌธ์ ์ค๋ช ์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค. ์ข ๋ฅ ์ด๋ฆ ์ผ๊ตด ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค ์์ ํ๋์ ํฐ์ ์ธ ํ์ ์ฒญ๋ฐ์ง ๊ฒ์ท ๊ธด ์ฝํธ ์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค...
Comment