Prim's Algorithm ์ด๋ Prim's Algorithm์ ๋ฌดํฅ ์ฐ๊ฒฐ ๊ทธ๋ํ๊ฐ ์ฃผ์ด์ง ๋, ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ ์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ Prim's Algorithm ๋์ 1๏ธโฃ ์์์ node ( ์์ ์ ์ )์ ์ ํํ์ฌ MST ( ์ต์ ๋น์ฉ ์ ์ฅ ํธ๋ฆฌ ) ์งํฉ์ ์ถ๊ฐ 2๏ธโฃ ์ธ์ node ์ค ์ต์ ๋น์ฉ์ edge๋ก ์ฐ๊ฒฐ๋ node ์ ํ ๐ ์ด ๊ณผ์ ์ ๋ชจ๋ node๋ฅผ ์ ํํ ๋ ๊น์ง ๋ฐ๋ณต โผ๏ธ Prim's Algorithm ์๊ฐ ๋ณต์ก๋ ์ฃผ ๋ฐ๋ณต๋ฌธ์ด node์ ์ n๋ฒ ๋ฐ๋ณต โ ๋ด๋ถ ๋ฐ๋ณต๋ฌธ์ด n๋ฒ ๋ฐ๋ณต ๐ ์๊ฐ ๋ณต์ก๋๋ O(n^2)
์๊ณ ๋ฆฌ์ฆ
https://programmers.co.kr/learn/courses/30/lessons/76503 ์ฝ๋ฉํ
์คํธ ์ฐ์ต - ๋ชจ๋ 0์ผ๋ก ๋ง๋ค๊ธฐ ๊ฐ ์ ์ ๊ฐ์ค์น๊ฐ ๋ถ์ฌ๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋๋ค. ๋น์ ์ ๋ค์ ์ฐ์ฐ์ ํตํ์ฌ, ์ด ํธ๋ฆฌ์ ๋ชจ๋ ์ ๋ค์ ๊ฐ์ค์น๋ฅผ 0์ผ๋ก ๋ง๋ค๊ณ ์ ํฉ๋๋ค. ์์์ ์ฐ๊ฒฐ๋ ๋ ์ ์ ๊ณจ๋ผ์ ํ์ชฝ์ 1 ์ฆ๊ฐ์ํค๊ณ , ๋ค๋ฅธ ํ programmers.co.kr ๋ฌธ์ ๊ฐ ์ ์ ๊ฐ์ค์น๊ฐ ๋ถ์ฌ๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋๋ค. ๋น์ ์ ๋ค์ ์ฐ์ฐ์ ํตํ์ฌ, ์ด ํธ๋ฆฌ์ ๋ชจ๋ ์ ๋ค์ ๊ฐ์ค์น๋ฅผ 0์ผ๋ก ๋ง๋ค๊ณ ์ ํฉ๋๋ค. ์์์ ์ฐ๊ฒฐ๋ ๋ ์ ์ ๊ณจ๋ผ์ ํ์ชฝ์ 1 ์ฆ๊ฐ์ํค๊ณ , ๋ค๋ฅธ ํ์ชฝ์ 1 ๊ฐ์์ํต๋๋ค. ํ์ง๋ง, ๋ชจ๋ ํธ๋ฆฌ๊ฐ ์์ ํ๋์ ํตํ์ฌ ๋ชจ๋ ์ ๋ค์ ๊ฐ์ค์น๋ฅผ 0์ผ๋ก ๋ง๋ค ์ ์๋ ๊ฒ์ ์๋๋๋ค. ๋น์ ์ ์ฃผ์ด์ง ํธ๋ฆฌ์ ๋ํด..
https://www.acmicpc.net/problem/2374 2374๋ฒ: ๊ฐ์ ์๋ก ๋ง๋ค๊ธฐ n(1 ≤ n ≤ 1,000)๊ฐ์ ์์ฐ์ A[1], A[2], A[3], …, A[n]์ด ์๋ค. ์ด ์์ฐ์์ Add(i)๋ผ๋ ์ฐ์ฐ์ ํ๋ฉด, A[i]๊ฐ 1๋งํผ ์ฆ๊ฐํ๋ค. ์ด๋, A[i]๋ง ์ฆ๊ฐํ๋ ๊ฒ์ด ์๋๊ณ , A[i]์ ์ข์ฐ๋ก ์ธ์ ํ ๊ฐ์ ์์ ๊ทธ๋ฃน์ด ํ www.acmicpc.net ๋ฌธ์ n(1 ≤ n ≤ 1,000)๊ฐ์ ์์ฐ์ A[1], A[2], A[3], …, A[n]์ด ์๋ค. ์ด ์์ฐ์์ Add(i)๋ผ๋ ์ฐ์ฐ์ ํ๋ฉด, A[i]๊ฐ 1๋งํผ ์ฆ๊ฐํ๋ค. ์ด๋, A[i]๋ง ์ฆ๊ฐํ๋ ๊ฒ์ด ์๋๊ณ , A[i]์ ์ข์ฐ๋ก ์ธ์ ํ ๊ฐ์ ์์ ๊ทธ๋ฃน์ด ํ๋ฒ์ 1์ฉ ์ฆ๊ฐํ๋ค. A[1]๊ณผ A[n]์ ์ธ์ ํด ์์ง ์๋ค. ์๋ฅผ ๋ค์ด..
https://www.acmicpc.net/problem/1080 1080๋ฒ: ํ๋ ฌ ์ฒซ์งธ ์ค์ ํ๋ ฌ์ ํฌ๊ธฐ N M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ A๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ๋ค์์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ B๊ฐ ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ 0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ํ๋ ฌ A์ ํ๋ ฌ B๊ฐ ์๋ค. ์ด๋, ํ๋ ฌ A๋ฅผ ํ๋ ฌ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ํ์์ ์ต์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ๋ ฌ์ ๋ณํํ๋ ์ฐ์ฐ์ ์ด๋ค 3×3ํฌ๊ธฐ์ ๋ถ๋ถ ํ๋ ฌ์ ์๋ ๋ชจ๋ ์์๋ฅผ ๋ค์ง๋ ๊ฒ์ด๋ค. (0 → 1, 1 → 0) ์
๋ ฅ ์ฒซ์งธ ์ค์ ํ๋ ฌ์ ํฌ๊ธฐ N M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ A๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ..
https://www.acmicpc.net/problem/20551 20551๋ฒ: Sort ๋ง์คํฐ ๋ฐฐ์งํ์ ํ๊ณ์ ์งํ์ด๋ Sort ๋ง์คํฐ๋ค. ์ค๋ซ๋์ Sort ๋ง์คํฐ ์๋ฆฌ๋ฅผ ์ง์ผ์จ ์งํ์ด๋ ์ด์ ๋ง์คํฐ ์๋ฆฌ๋ฅผ ํ๊ณ์์๊ฒ ๋ฌผ๋ ค์ฃผ๋ ค๊ณ ํ๋ค. ์๋ง์ ์ ์๋ค ์ค์ ํ๊ณ์๋ฅผ ๊ณ ๋ฅด๊ธฐ ์ํด์ ์งํ์ด๋ ์ ์๋ค์๊ฒ ๋ฌธ์ www.acmicpc.net ๋ฌธ์ ์งํ์ด๋ Sort ๋ง์คํฐ๋ค. ์ค๋ซ๋์ Sort ๋ง์คํฐ ์๋ฆฌ๋ฅผ ์ง์ผ์จ ์งํ์ด๋ ์ด์ ๋ง์คํฐ ์๋ฆฌ๋ฅผ ํ๊ณ์์๊ฒ ๋ฌผ๋ ค์ฃผ๋ ค๊ณ ํ๋ค. ์๋ง์ ์ ์๋ค ์ค์ ํ๊ณ์๋ฅผ ๊ณ ๋ฅด๊ธฐ ์ํด์ ์งํ์ด๋ ์ ์๋ค์๊ฒ ๋ฌธ์ ๋ฅผ ์ค๋นํ๋ค. ๋จผ์ ์ ์๋ค์๊ฒ N๊ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ฐฐ์ดA๋ฅผ ์ฃผ๊ณ , A์ ์์๋ค์ด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ๋ฐฐ์ดB๋ฅผ ๋ง๋ค๊ฒ ํ๋ค. ๊ทธ๋ค์ M๊ฐ์ ์ง๋ฌธ์ ํ๋ค. ๊ฐ ์ง๋ฌธ์๋ ์ ์ D๊ฐ ์ฃผ์ด..
https://www.acmicpc.net/problem/2573 2573๋ฒ: ๋น์ฐ ์ฒซ ์ค์๋ ์ด์ฐจ์ ๋ฐฐ์ด์ ํ์ ๊ฐ์์ ์ด์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ๋ ์ ์ N๊ณผ M์ด ํ ๊ฐ์ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. N๊ณผ M์ 3 ์ด์ 300 ์ดํ์ด๋ค. ๊ทธ ๋ค์ N๊ฐ์ ์ค์๋ ๊ฐ ์ค๋ง๋ค ๋ฐฐ์ด์ ๊ฐ ํ์ www.acmicpc.net ๋ฌธ์ ์ง๊ตฌ ์จ๋ํ๋ก ์ธํ์ฌ ๋ถ๊ทน์ ๋น์ฐ์ด ๋
น๊ณ ์๋ค. ๋น์ฐ์ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ด 2์ฐจ์ ๋ฐฐ์ด์ ํ์ํ๋ค๊ณ ํ์. ๋น์ฐ์ ๊ฐ ๋ถ๋ถ๋ณ ๋์ด ์ ๋ณด๋ ๋ฐฐ์ด์ ๊ฐ ์นธ์ ์์ ์ ์๋ก ์ ์ฅ๋๋ค. ๋น์ฐ ์ด์ธ์ ๋ฐ๋ค์ ํด๋น๋๋ ์นธ์๋ 0์ด ์ ์ฅ๋๋ค. ๊ทธ๋ฆผ 1์์ ๋น์นธ์ ๋ชจ๋ 0์ผ๋ก ์ฑ์์ ธ ์๋ค๊ณ ์๊ฐํ๋ค. 2 4 5 3 3 2 5 2 7 6 2 4 ๊ทธ๋ฆผ 1. ํ์ ๊ฐ์๊ฐ 5์ด๊ณ ์ด์ ๊ฐ์๊ฐ 7์ธ 2์ฐจ์ ๋ฐฐ์ด์ ..
https://www.acmicpc.net/problem/2473 2473๋ฒ: ์ธ ์ฉ์ก ์ฒซ์งธ ์ค์๋ ์ ์ฒด ์ฉ์ก์ ์ N์ด ์
๋ ฅ๋๋ค. N์ 3 ์ด์ 5,000 ์ดํ์ ์ ์์ด๋ค. ๋์งธ ์ค์๋ ์ฉ์ก์ ํน์ฑ๊ฐ์ ๋ํ๋ด๋ N๊ฐ์ ์ ์๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ์ด ์๋ค์ ๋ชจ๋ -1,000,000,000 ์ด์ www.acmicpc.net ๋ฌธ์ KOI ๋ถ์ค ๊ณผํ์ฐ๊ตฌ์์์๋ ๋ง์ ์ข
๋ฅ์ ์ฐ์ฑ ์ฉ์ก๊ณผ ์์นผ๋ฆฌ์ฑ ์ฉ์ก์ ๋ณด์ ํ๊ณ ์๋ค. ๊ฐ ์ฉ์ก์๋ ๊ทธ ์ฉ์ก์ ํน์ฑ์ ๋ํ๋ด๋ ํ๋์ ์ ์๊ฐ ์ฃผ์ด์ ธ์๋ค. ์ฐ์ฑ ์ฉ์ก์ ํน์ฑ๊ฐ์ 1๋ถํฐ 1,000,000,000๊น์ง์ ์์ ์ ์๋ก ๋ํ๋ด๊ณ , ์์นผ๋ฆฌ์ฑ ์ฉ์ก์ ํน์ฑ๊ฐ์ -1๋ถํฐ -1,000,000,000๊น์ง์ ์์ ์ ์๋ก ๋ํ๋ธ๋ค. ๊ฐ์ ์์ ์ธ ๊ฐ์ง ์ฉ์ก์ ํผํฉํ ์ฉ์ก์ ํน์ฑ๊ฐ์..
https://www.acmicpc.net/problem/2812 2812๋ฒ: ํฌ๊ฒ ๋ง๋ค๊ธฐ N์๋ฆฌ ์ซ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ฌ๊ธฐ์ ์ซ์ K๊ฐ๋ฅผ ์ง์์ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. www.acmicpc.net ๋ฌธ์ N์๋ฆฌ ์ซ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ฌ๊ธฐ์ ์ซ์ K๊ฐ๋ฅผ ์ง์์ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์
๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K 0 (์์ง ๋บ ์ ์๋ค ) ๋ฉด..