๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ํธ๋ญ์ 1์ด์ 1๋งํผ ์์ง์ด๋ฉฐ, ๋ค๋ฆฌ ๊ธธ์ด๏ฟฝ๏ฟฝ programmers.co.kr ๋ฌธ์ ํ์ด ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ค ์์ผ๋ก ๊ฑด๋๋ ค๊ณ ํ ๋, ๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ๋ฌด๊ฒ ์ ํ์ด ์๋ค. ํธ๋ญ์ 1์ด์ ๋ค๋ฆฌ ํ ์นธ์ ์ง๋๊ฐ ๋, ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ก์ง์ ์์ฑํ๋ฉด ๋๋ค. q์ ์ด๊ธฐ ๊ฐ์ 0์ผ๋ก ๋ค๋ฆฌ ๊ธธ์ด๋งํผ ์ฑ์ด๋ค. ๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ํธ๋ญ์ ํ์ ํ๊ธฐ ์ํด, ํ์ฌ ๋ค๋ฆฌ์ ๋ฌด๊ฒ๋ฅผ ๊ณ์ฐํ๋ค. ์ฒซ ํธ๋ญ๋ถํฐ ๋ค๋ฆฌ ์์ ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ฅ ๋จผ ๋ ธ๋ 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr ๋ฌธ์ ํ์ด ๊ฐ ๋ ธ๋์ ๊ฐ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋, 1๋ฒ ๋ ธ๋๋ก๋ถํฐ ๊ฐ์ฅ ๋ฉ๋ฆฌ ๋จ์ด์ง ๋ ธ๋๋ฅผ ํ์ ํ ํ ํ, ์ด์ ๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ์ง ๋ ธ๋๊ฐ ๋ช ๊ฐ์ธ์ง ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. BFS๋ฅผ ํตํ ๊ทธ๋ํ ํ์์ ์ดํดํ๊ณ ์๋ค๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ๊ทธ๋ํ์ ๊ฐ์ ์ ๋ณด๋ฅผ ํ๋์ ๋ฆฌ์คํธ์ ์ด๊ธฐํ ํ๋ค. ์๋ฅผ ๋ค์ด, 1๋ฒ ๋ ธ๋์์ 2๋ฒ ๋ ธ๋๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ๋ค๋ฉด, `graph[1].append[2]`์ ๊ฐ์ด ์งํํ๋ฉด ๋๋ค. ๋ฆฌ์คํธ ์ธ๋ฑ์ค์ ์ ๊ทผํ๊ธฐ ์ํด node๋ค์ -1์ ํ์ฌ ์ฒ๋ฆฌํ์๋ค. ๊ทธ๋ํ๋ ์๋ฐฉํฅ์ด๋ฏ๋ก, `graph[1].append[2..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฌ ์ฐ๊ฒฐํ๊ธฐ 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr ๋ฌธ์ ํ์ด n๊ฐ์ ์ฌ ์ฌ์ด์ ๋ค๋ฆฌ๋ฅผ ๊ฑด์คํ๋ ๋น์ฉ์ด ์ฃผ์ด์ง ๋, ๋ชจ๋ ์ฌ์ด ํตํ ๊ฐ๋ฅํ ์ต์ ๋น์ฉ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ ์ ํ์ ์ธ `Kruskal ์๊ณ ๋ฆฌ์ฆ` ๋ฌธ์ ์ด๋ค. ํด๋น ์๊ณ ๋ฆฌ์ฆ ์์ฒด๊ฐ ์ฌ์ดํด์ ์ด๋ฃจ์ง ์๊ณ , ์ต์ ๋น์ฉ์ ์ฐพ๋ ๊ฒ์ด๋ค. ์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฌธ์ ์์๋ "๋ค๋ฆฌ๋ฅผ ์ฌ๋ฌ ๊ฐ ๊ฑด๋๋๋ผ๋ ํด๋น ์ฌ์ ๋ฐฉ๋ฌธํ ์ ์์ผ๋ฉด ๋๋ค."๋ผ๋ ์กฐ๊ฑด์ด ์ฃผ์ด์ง๋ค. ๋ฐ๋ผ์ ๊ฐ ๋ ธ๋์ ๋น์ฉ(๊ฑด์คํ๋ ๋น์ฉ)์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ํ, ๋ฐฉ๋ฌธ ์ฌ๋ถ์ ๋ฐ๋ผ ํ์ฌ์ ๋น์ฉ์ ๊ฐฑ์ ํ๋ฉด ๋๋ค. ์ฃผ์ด์ง ์์๋ฅผ Kruskal๋ก ํ์ํ๊ฒ ๋๋ฉด ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์์๋ก ํ์ํ๊ฒ ๋๋ค. ๋ฐ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ ๋ฐ๋จน๊ธฐ ๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ ๋ฐ๋จน๊ธฐ ๊ฒ์์ ๋ (land)์ ์ด Nํ 4์ด๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๋ชจ๋ ์นธ์๋ ์ ์๊ฐ ์ฐ์ฌ ์์ต๋๋ค. 1ํ๋ถํฐ ๋ ์ ๋ฐ์ผ๋ฉฐ ํ ํ์ฉ ๋ด๋ ค์ฌ ๋, ๊ฐ ํ์ 4์นธ ์ค ํ ์นธ๋ง ๋ฐ๏ฟฝ๏ฟฝ programmers.co.kr ๋ฌธ์ ํ์ด 4์ด๋ก ์ด๋ฃจ์ด์ง ๋ ์ด ์ฃผ์ด์ง ๋, ํ ํ์์ 1์ด์ ๋ ์ ๋ฐ์๋ค๋ฉด ๊ทธ๋ค์ ํ์์๋ 1์ด์ ๋ ์ ๋ฐ์ ์ ์๋ค๋ ์กฐ๊ฑด์ด ์๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ์ ๊ฐ๋ค์ ๋ณ๊ฒฝ์์ผ ์ค์ผ๋ก์จ ๊ฐ๋ฅํ๋ค. ๋ค์ ๋ ์์ ํ๋ํ ์ ์๋ ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ค์ ๋ ์ ์ ํํ ์ธ๋ฑ์ค๋ฅผ ์ ์ธํ ๋๋จธ์ง์์ ์ต๋ ๊ฐ์ ๋ฐํํ์ฌ ๋ํด์ฃผ๋ฉด๋๋ค. ์ด๋ฐ์์ผ๋ก ๊ฐ์ ์ค์ฒฉํด ๋์๊ฐ๋ฉด 16์ด๋ผ๋ ์ต๋๊ฐ์ ์ฐพ์ ์ ์๋ค. ์ฝ๋ def solution(land): for..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฌ๋ฐ๋ฅธ ๊ดํธ ๊ดํธ๊ฐ ๋ฐ๋ฅด๊ฒ ์ง์ง์ด์ก๋ค๋ ๊ฒ์ '(' ๋ฌธ์๋ก ์ด๋ ธ์ผ๋ฉด ๋ฐ๋์ ์ง์ง์ด์ ')' ๋ฌธ์๋ก ๋ซํ์ผ ํ๋ค๋ ๋ป์ ๋๋ค. ์๋ฅผ ๋ค์ด ()() ๋๋ (())() ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๋๋ค. )()( ๋๋ (()( ๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ๏ฟฝ programmers.co.kr ๋ฌธ์ ํ์ด ๋ฌธ์์ด์ด ์ฃผ์ด์ง ๋, ์ฌ๋ฐ๋ฅธ ๊ดํธ์ธ์ง ํ๋จํ์ฌ true, false๋ฅผ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์๋ฅผ ๋ค์ด `(())`๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด๊ณ , `(()`๋ ์ฌ๋ฐ๋ฅด์ง ์์ ๊ดํธ์ด๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ก์ง์ ๋ฐ๋ผ ์ฒ๋ฆฌํ๋ฉด ๋๋ค. stack push. : ํ์ฌ ๋ฌธ์์ด์ด ์ด๋ฆฐ ๊ดํธ stack pop : stack์ ๊ฐ์ด ์๊ณ , ํ์ฌ ๋ฌธ์์ด์ด ๋ซํ ๊ดํธ ์ด์ธ์ ๊ฒฝ์ฐ๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ๊ฐ ์๋๋ฏ๋ก, False๋ฅผ ๋ฐ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ n๊ฐ์ ์์ด ์๋ ์ ์๊ฐ ์์ต๋๋ค. ์ด ์๋ฅผ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ ์์ต๋๋ค. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr ๋ฌธ์ ํ์ด ํ์ฌ ๊ฐ์ ๋ํ๋๋, ๋นผ๋์ ๋ฐ๋ผ 2 ๊ฐ์ง๋ก ๋๋๊ฒ ๋๋ค. ์ด๋ DFS๋ฅผ ํตํด ํ์ํ ๊ฒฝ์ฐ ๊ฐ ๊ฒฝ์ฐ์ ๋ํด ํ๋จํ ์ ์๋ค. ๊ฐ ๋ ธ๋ ๋ง๋ค 2๊ฐ์ ๊ฐ์ง๋ก ๋ปฃ์ด๋๊ฐ๊ฒ ๋๋ฏ๋ก, ํธ๋ฆฌ์ ์ต๋ depth(์ซ์์ ์) ๋งํผ ๋๋ฌ ํ์์ ๋, ๊ณ์ฐ ๋ ๊ฐ๊ณผ target๊ณผ ์ผ์นํ๋์ง ํ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์ฝ๋ def dfs(numbers, target, i = 0): answer = 0 if ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋คํธ์ํฌ ๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๏ฟฝ๏ฟฝ programmers.co.kr ๋ฌธ์ ํ์ด ๋คํธ์ํฌ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋, ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ํตํด ๋ช ๊ฐ์ ๋คํธ์ํฌ๊ฐ ์กด์ฌํ๋์ง ํ๋จํ๋ ๋ฌธ์ ์ด๋ค. BFS๋ก ํ ์ ์๋ ๋ฌธ์ ์ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์๋ค. ์์ #1 ๋ ธ๋ 1์ 2๋ฒ๊ณผ ์ฐ๊ฒฐ๋์ด ์๋ค. ๋ ธ๋ 2๋ 1๋ฒ๊ณผ ์ฐ๊ฒฐ๋์ด ์๋ค. ๋ ธ๋ 3์ ๋ค๋ฅธ ๋ ธ๋์ ์ฐ๊ฒฐ๋์ด ์์ง ์๋ค. ๋ฐ๋ผ์ ๋คํธ์ํฌ์ ๊ฐ์๋ 2์ด๋ค. ์์ #2 ๋ ธ๋ 1, 2, 3์ ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ค. ๋ฐ๋ผ์ ๋คํธ์ํฌ ๊ฐ์๋ 1์ด๋ค. ์ด์ ๊ฐ์ ์ฐ๊ฒฐ์ ๋ฐ๋ผ ๋คํธ์ํฌ ๊ฐ์๋ฅผ ์ฒด..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋จ์ด ๋ณํ ๋ ๊ฐ์ ๋จ์ด begin, target๊ณผ ๋จ์ด์ ์งํฉ words๊ฐ ์์ต๋๋ค. ์๋์ ๊ฐ์ ๊ท์น์ ์ด์ฉํ์ฌ begin์์ target์ผ๋ก ๋ณํํ๋ ๊ฐ์ฅ ์งง์ ๋ณํ ๊ณผ์ ์ ์ฐพ์ผ๋ ค๊ณ ํฉ๋๋ค. 1. ํ ๋ฒ์ ํ ๊ฐ์ ์ํ๋ฒณ๋ง ๋ฐ๊ฟ ์ programmers.co.kr ๋ฌธ์ ํ์ด ํน์ ๋จ์ด๊ฐ ์ฃผ์ด์ง ๋, ๋ค๋ฅธ ๋จ์ด์ ๋น๊ตํ์ฌ ํ๋๋ง ๋ค๋ฅธ ๊ฒฝ์ฐ์ ๊ทธ ๋จ์ด๋ก ๋ณํํ ์ ์๋ค. DSF๋ฅผ ํตํด ์ฒ์ ์์ํ๋ ๋ฌธ์๋ถํฐ, ๋ณํ ํ ์ ์๋ ๋ฌธ์์ ๋น๊ตํ์ฌ ๋ ๋ฌธ์๊ฐ ํ๋๋ง ๋ค๋ฅธ ๊ฒฝ์ฐ ํด๋น ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ํ์ํ ์ ์๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ์ด๋ฅผ ์ํด `stack`์ ์ด์ฉํ๊ณ , ์ค๋ณต์ ๋ง๊ธฐ ์ํด `defualtdict`๋ฅผ ํ์ฉํ์ฌ ๋ฐฉ๋ฌธ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ์๋ค. ์ฝ๋ from collections i..