๐ Algorithm/๐ป ๋ฌธ์ ํ์ด16 [๋ฐฑ์ค] 1520. ๋ด๋ฆฌ๋ง๊ธธ ๋ฌธ์ ํ์ด ๋จผ์ ๋ชจ๋ ๊ฒฝ๋ก์ ์๋ฅผ ๊ตฌํด์ผํ๊ธฐ ๋๋ฌธ์ DFS๋ฅผ ์ฌ์ฉํด ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค. ํ์ง๋ง ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํ์ํ๊ฒ ๋๋ ๊ฒฝ์ฐ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ค์ด๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. ์๊ฐํ ์์ด๋์ด๋ ํ ๋ฒ ๋ฐฉ๋ฌธํ๋ ์ขํ๋ฅผ x,y๋ผ๊ณ ํ์ ๋, (x,y) ์์ (N-1, N-1)๊น์ง์ ๊ฒฝ๋ก๋ ์ด๋ฏธ ๊ตฌํด์ ธ์๊ณ ๋ณํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ค์ ํ์ํ ํ์๊ฐ ์๋ค๋ ์ ์ด๋ค. ๋ฐ๋ผ์ dfs๋ฅผ ์งํํ๋ฉฐ ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ ํ๊ณ , ๋ฐฉ๋ฌธ์ฒดํฌ๊ฐ ๋ ๊ณณ์ธ ๊ฒฝ์ฐ ์ ์ฅ๋์ด ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํจ์ผ๋ก์จ ์๊ฐ์ ์ค์ผ ์ ์๋ค. ํ์ง๋ง ์ฃผ์ํ ์ ์ด ์๋ค. ์ด๊ธฐ ์์ฑํ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค. import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu.. 2021. 4. 1. [๋ฐฑ์ค] 2629. ์ํ ์ ์ธ ๋ฌธ์ ํ์ด ์ค๋๋ง์ ํธ๋ DP๋ฌธ์ ์๋ค. ๋จผ์ ์ถ๋ฅผ ๋ฃ์์ ๋ ๋ง๋ค ์ ์๋ ์ถ์ ๋ฌด๊ฒ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ Cache๋ฐฐ์ด์ ์ ์งํ๋ค. ์ด ๋ ํด๋น ์ถ์ ๋ํด ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ ์๋ ๋ค์๊ณผ ๊ฐ๋ค. ํ์ฌ ์ถ๋ง ๋ฃ์ ๊ฒฝ์ฐ ์ด์ ๋จ๊ณ์์ ๋ง๋ค์๋ ๋ฌด๊ฒ๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด์ ๋จ๊ณ์์ ๋ง๋ค์๋ ๋ฌด๊ฒ์ ํ์ฌ ์ถ๋ฅผ ๋ํ๋ ๊ฒฝ์ฐ ์ด์ ๋จ๊ณ์์ ๋ง๋ค์๋ ๋ฌด๊ฒ์ ํ์ฌ ์ถ๋ฅผ ๋นผ๋ ๊ฒฝ์ฐ (๋ฌผ์ฒด์ชฝ์ ์ถ๋ฅผ ๋๋ ๊ฒฝ์ฐ) ์ต์ข ์ ์ผ๋ก ๋ง์ง๋ง ์ถ๋ฅผ ๋ฃ์์ ๋ ๊ฐ๋ฅํ ๋ฌด๊ฒ๋ฅผ ๊ตฌํ ์ ์๋ค. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { // Input ๋ฐ๊ธฐ ์ํ Buffered Re.. 2021. 4. 1. [๋ฐฑ์ค] - 2206. ๋ฒฝ๋ถ์๊ณ ์ด๋ํ๊ธฐ ๋ฌธ์ ํ์ด ์ด ๋ฌธ์ ๋ ์์ ์ BFS๋ฅผ ํ์ฐฝ ํ์์ ๋์๋ ๋ชป ํ์๋ ๋ฌธ์ ์๋๋ฐ ์ด์ ์ ์ฌํ ๋ฌธ์ ์ธ 1600. ๋ง์ด ๋๊ณ ํ ์์ญ์ด๋ฌธ์ ๋ฅผ ํ๊ณ ์๊ฐ์ ์ป์ด์ ๋ค์ ๋์ ํ๋๋ ์ฝ๊ฒ ํ๋ ธ๋ค. ์ด ๋ฌธ์ ๊ฐ ์ผ๋ฐ์ ์ธ BFS๋ณด๋ค ๊น๋ค๋ก์ด ์ด์ ๋ ์ด๋ค ์ขํ์ ์ฌ ์ ์๋ ๊ฒฝ์ฐ์ ์๊ฐ 2๊ฐ์ง(์ด์ ์ ๋ฒฝ์ ๋ถ์ ๊ฒฝ์ฐ, ์ด์ ์ ๋ฒฝ์ ๋ถ์์ง ์์ ๊ฒฝ์ฐ)๋ผ๋ ์ ์ด๋ค. ๋ฐ๋ผ์ 2์ฐจ์ ๋ฐฉ๋ฌธ ๋ฐฐ์ด๋ก๋ ์ฒ๋ฆฌ๊ฐ ๋ถ๊ฐ๋ฅํ๊ณ 3์ฐจ์ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์๋ค. 3์ฐจ์ ๋ฐฐ์ด์์ 0๋ฒ์จฐ ์ธ๋ฑ์ค๋ ๋ฒฝ์ ์ด๋ฏธ ๋ถ์๊ณ ์จ ๊ฒฝ์ฐ, 1๋ฒ์งธ ์ธ๋ฑ์ค๋ ๋ฒฝ์ ์์ง ๋ถ์์ง ์์ ๊ฒฝ์ฐ์ด๋ค. bfs๋ฅผ ์งํํ๋ฉฐ ๋ค์์ 3๊ฐ์ง ๊ฒฝ์ฐ์ ๋ํด์ ์ฒ๋ฆฌํด์ฃผ์๋ค. ํ์ฌ ๋ฒฝ์ ๋ถ์ ์ ์๋ ๊ธฐํ๊ฐ ๋จ์์๊ณ ๋ค์ ๋ฐฉ๋ฌธํ ์ขํ๊ฐ ๋ฒฝ์ธ ๊ฒฝ์ฐ, ๊ธฐํ๋ฅผ ์์งํ๊ณ ๋ฒฝ์ ๋ฐฉ๋ฌธ ๊ธฐํ๊ฐ.. 2021. 3. 24. [๋ฐฑ์ค] - 1277. ๋ฐ์ ์ ์ค์น ๋ฌธ์ ํ์ด 1๋ฒ ๋ฐ์ ์๋ถํฐ N๋ฒ์งธ ๋ฐ์ ์๊น์ง์ ์ต์ ๋น์ฉ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๊ธฐ ๋๋ฌธ์ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ์๋ค. ๋จผ์ ๊ฐ ๋ฐ์ ์์ ์ขํ๋ฅผ ์ ์ฅ(plant)ํ๊ณ , ์ฐ๊ฒฐ๋์ด ์๋์ง ์ฌ๋ถ๋ฅผ ์ ์ฅ(connected)ํ์๋ค. ๋ค์์ผ๋ก ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๊ธฐ ์ , 1๋ฒ๋ถํฐ ๊ฐ ์ ์ ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๋ํ๋ด๋ distance ๋ฐฐ์ด์ ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ์๋ 0, ์ฐ๊ฒฐ๋์ง ์์ ๊ฒฝ์ฐ์๋ INF๋ก ์ด๊ธฐํํด์ฃผ์๋ค. ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ํํ๋ฉด์ ๊ฐ์ค์น๋ฅผ ๋ํด์ฃผ๋ ๋ถ๋ถ์ ๊ฐ ์ขํ๊ฐ์ ๊ฑฐ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์ ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๊ณต์์ ํตํด ๊ตฌํ๋ค. ์ถ๊ฐ์ ์ผ๋ก ์ธ์ ํ ํ๋ ฌ์์ ์ฐพ๋ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์ ๋ฌ๋ฆฌ ๋ชจ๋ ๋ฐ์ ์์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ํด์ ๊ฐฑ์ ํด ์ค ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ 1~N๊น์ง ์๊ธฐ ์์ ์ ์ ์ธํ๊ณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐฑ์ ํด์ฃผ์๋ค. ํ.. 2021. 3. 24. [๋ฐฑ์ค] 1799. ๋น์ ๋ฌธ์ ํ์ด ์ฒ์์ ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ์์ ํ์์ ํตํด ์ต๋ ์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด์๋ค. ์ค๊ฐ์ ๊ฐ์ง์น๊ธฐ๋ฅผ ํตํด ์๊ฐ์ ์ค์ผ ์ ์๊ฒ ์ง๋ง n์ ์ต๋๊ฐ์ด 100์ด๊ณ (๋ชจ๋ ์ ์ ๋ํด ๋๋ ๊ฒฝ์ฐ/ ๋์ง ์๋ ๊ฒฝ์ฐ) * (๋์ ์ ์๋์ง ํ๋จํ๊ธฐ ์ํด ์ ๋๊ฐ์ ์ ํ์ํ๋ ๊ฒฝ์ฐ)๋ฅผ ํ๊ฒ ๋๋ฉด O(2^n * n)์ด๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ์์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๊ฐํด๋ดค๋ค. ์๊ฐํ ๋ฐฉ๋ฒ์ N-Queens์์ ๋ชจ๋ ํ๋ ฌ์ ์ ์ฅํ์ง ์๊ณ ํด๋น idx์๋ ํ๋์ ๊ฐ๋ง ์ฌ ์ ์๋๋ก ํ๋ค๋ฉด ์๊ฐ์ ์ค์ผ ์ ์๋ค๋ ์๊ฐ์ ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ๋ฌถ์ด์ผ ํ ์ง ๊ณ ๋ฏผ์ ํด๋ดค๋ค. N-Queens์์ queen์ ๊ฐ๋ก,์ธ๋ก๋ฅผ ๊ฐ ์ ์์๊ณ ์ด๋ก ์ธํด ํ๋์ ํ์ ํธ์ ๋์ ๊ฒฝ์ฐ์๋ ๊ฐ์ ํ์๋ ํ์ด ์กด์ฌํ์ง ๋ชปํ๋ ์ฑ์ง์ ์ด์ฉํ์๋ค. ์ด.. 2021. 3. 7. [๋ฐฑ์ค] 1967. ํธ๋ฆฌ์ ์ง๋ฆ ๋ฌธ์ ํ์ด ์ฒ์ ์๋ํ๋ ๋ฐฉ๋ฒ์ 1๋ฒ์ ์์๋ ธ๋๋ค์ ์์์ ์ผ๋ก ์ก์ DFS๋ฅผ ํตํด ํ์ํ๋ฉด์ ์ผ์ชฝ ์์๊ณผ์ ๊ฑฐ๋ฆฌ, ์ค๋ฅธ์ชฝ ์์๊ณผ์ ๊ฑฐ๋ฆฌ, ๋ถ๋ชจ์์ ๊ฑฐ๋ฆฌ ์ค์ ์์ 2๊ฐ์ ๊ฐ์ ๊ณจ๋ผ ์ต๋๊ฐ์ ๊ฐฑ์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์งํํ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ต๋๊ฐ์ด 1๋ฒ์ ๋ค๋ฅธ ์ค๊ธฐ์ ์ฐ๊ฒฐํ ์ ์๋์ง(notCompleted), ์๋๋ฉด ์ด๋ฏธ ์์ฑ๋ ์ง๋ฆ์ธ์ง(completed) ํ๋ณํ๋ flag๋ฅผ ํตํด ์ต๋ ์ง๋ฆ์ ๊ตฌํ๋ ค๊ณ ํ๋ค. ์ด ๋ฐฉ๋ฒ์ด ์๋ชป๋ ์ด์ ๋ ๋จผ์ ๋ฌธ์ ์์ ์ด์ง ํธ๋ฆฌ๋ผ๋ ์กฐ๊ฑด์ด ์๋๋ฐ ์ด์งํธ๋ฆฌ๋ผ๊ณ ๊ฐ์ ํ๊ณ ํ์๊ธฐ ๋๋ฌธ์ด๊ณ , ๋ํ ์์ ๊ทธ๋ํ์์ 4-7 : 100 / 4-8 : 100์ผ๋ก ์์ ํ ๊ฒฝ์ฐ ์ผ์ชฝ ์ค๊ธฐ์ ์ต๋๊ฐ์ด 200์ด ๋์์ผํ๋๋ฐ 4์ ๋ถ๋ชจ๋ ธ๋์ธ 2๊ฐ ์์์ด ํ๋๋ฐ์ ์๊ธฐ ๋๋ฌธ์ 200 + 5๋ก ๊ฐฑ์ ๋๋ ๋ฌธ์ .. 2021. 3. 6. ์ด์ 1 2 3 ๋ค์