๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - N-Queen ๊ฐ๋ก, ์ธ๋ก ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ์ผ๋ก๋ ์ฒด์คํ์ด ์์ต๋๋ค. ์ฒด์คํ ์์ n๊ฐ์ ํธ์ด ์๋ก๋ฅผ ๊ณต๊ฒฉํ ์ ์๋๋ก ๋ฐฐ์นํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด์ n์ด 4์ธ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํธ์ ๋ฐฐ์นํ๋ฉด n๊ฐ์ ํธ์ programmers.co.kr ๋ฌธ์ ํ์ด ์์ ๋ค๋ฃฌ ๋ฐฑ์ค: 9663 N-Queen, SWEA: 2806 N-Queen๊ณผ ๋์ผํ ๋ฌธ์ ์ด๋ค. Queen์ ๊ฒฝ์ฐ ์, ํ, ์ข, ์ฐ์ ๋ค๋ฅธ Queen์ด ์์ด์ผ ํ๊ณ , ๋๊ฐ์ ์ผ๋ก๋ Queen์ด ์์ด์ผ ํ๋ค๋ ์กฐ๊ฑด์ ๋ง์กฑํ์ฌ์ผ ํ๋ค. ๋ฐ๋ผ์ Queen์ ๋ฐฐ์นํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ํ๋จํ๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค. ํ์ ๊ฒฝ์ฐ DFS๋ฅผ ํธ์ถํ๋ฉฐ ์ฆ๊ฐ์ํค๋ฏ๋ก, ๋ณ๋์ ์ค๋ณตํ์ธ์ด ํ์ํ์ง ์๋ค. ์ด์ ๊ฒฝ์ฐ ํด๋น ์ด์ ์ ํํ๋ฉด `set`์ ์ถ๊ฐํ์ฌ ์ค..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - 2 x n ํ์ผ๋ง ๊ฐ๋ก ๊ธธ์ด๊ฐ 2์ด๊ณ ์ธ๋ก์ ๊ธธ์ด๊ฐ 1์ธ ์ง์ฌ๊ฐํ๋ชจ์์ ํ์ผ์ด ์์ต๋๋ค. ์ด ์ง์ฌ๊ฐํ ํ์ผ์ ์ด์ฉํ์ฌ ์ธ๋ก์ ๊ธธ์ด๊ฐ 2์ด๊ณ ๊ฐ๋ก์ ๊ธธ์ด๊ฐ n์ธ ๋ฐ๋ฅ์ ๊ฐ๋ ์ฑ์ฐ๋ ค๊ณ ํฉ๋๋ค. ํ์ผ์ ์ฑ์ธ ๋๋ programmers.co.kr ๋ฌธ์ ํ์ด ์์ ๋ค๋ฃฌ ๋ฐฑ์ค: 11726 2xn ํ์ผ๋ง๊ณผ ๋์ผํ ๋ฌธ์ ์ด๋ค. N์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ `f(n) = f(n - 1) + f(n - 2)`์ ๊ฐ์ ๊ท์น์ ์ฐพ์ ์ ์๊ณ ์ด๋ฅผ `N`๋งํผ ๋ฐ๋ณตํ๋ฉด ์ํ๋ ๊ฐ์ ์ฐพ์ ์ ์๋ค. ์ฝ๋ def solution(n): a, b = 1, 1 for _ in range(n): a, b = b, a + b return a % 1000000007
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฑฐ์ค๋ฆ๋ Finn์ ํธ์์ ์์ ์ผ๊ฐ ์๋ฅด๋ฐ์ดํธ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ผ๊ฐ์ ์๋์ด ๋๋ฌด ์์ด ์ฌ์ฌํ Finn์ ์๋๋ค๊ป ๊ฑฐ์ค๋ฆ๋์ n ์์ ์ค ๋ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๊ธฐ๋ก ํ์์ต๋๋ค. ์๋ฅผ ๋ค์ด์ ์๋๊ป 5 programmers.co.kr ๋ฌธ์ ํ์ด ๊ฑฐ์ฌ๋ฌ ์ฃผ์ด์ผ ํ๋ ๋ N์ด ์๊ณ , ํํ ๋จ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, ๋์ ๊ฑฐ์ฌ๋ฌ ์ค ์ ์๋ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ์ฐํ์ฌ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ ์ด์ ์ ๋ค๋ฃฌ, ๋ฐฑ์ค: 2293 ๋์ 1 ๋ฌธ์ ์ ๋์ผํ ๋ฌธ์ ์ด๋ค. `DP`๋ฅผ ํตํด ๊ฐ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ณ์ฐํ์ฌ์ผ ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. def solution(n, money): dp = [1] + [0] * n for coin in money: for price i..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต ๊ธฐ์ด๋ถํฐ ์ฐจ๊ทผ์ฐจ๊ทผ, ์ง์ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ํ๋์ ๊ฐ ๋ณ๋ก ๋ฌถ์ด์ ์กฐํํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ `GROUP BY`๋ฅผ ์ฌ์ฉํ๋ค. ๊ฐ ๋ฌธ์ ๋ค์ `GROUP BY`๋ฅผ ํตํด ์กฐํํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ ๋ฌธ์ ๋ค์ด๋ค. ์ฝ๋ ๊ณ ์์ด์ ๊ฐ๋ ๋ช ๋ง๋ฆฌ ์์๊น SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS COUNT FROM ANIMAL_INS GROUP BY ANIMAL_TYPE ORDER BY ANIMAL_TYPE `GROUP BY`๋ฅผ ํตํด `ANIMAL_TYPE`์ผ๋ก ๊ทธ๋ฃน์ ๋ง๋ค๋ฉด, ๋๋ฌผ ๋ณ๋ก ์นด์ดํธํ ์ ์๋ค. ๋๋ช ๋๋ฌผ ์ ์ฐพ๊ธฐ SELECT NAME, Count(*) AS COUNT FROM ANIMAL_INS WHE..
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ๋ฌธ์ ์์๋ ํน์ ์กฐ๊ฑด์ด ์ผ์นํ๋์ง ํ์ธํ์ฌ ๋ง์กฑํ๋ ๊ฐ๋ค๋ง ๋ฐํํ๋ ๋ฌธ์ ๊ฐ ๋์จ๋ค. ์ด๋ฅผ ์ํด ํ๋ ๊ฐ์ ํ์ธํ์ฌ์ผ ํ๋ค. ํ๋์ ๊ฐ๋ค์ ํ์ธํ๊ธฐ ์ํด์๋ `IN`, `LIKE`์ `REGEXP`๋ฅผ ํ์ฉํ๋ฉด ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋ค. ์ฝ๋ ๋ฃจ์์ ์๋ผ ์ฐพ๊ธฐ SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty') `Pyth..
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํ์ด ๊ฐ ๋ฌธ์ ์์๋ `ANIMAL_INS`, `ANIMAL_OUT`์ ๊ฐ์ด ๋๋ฌผ์ด ๋ณดํธ์์ ๋ค์ด์จ ์ ๋ณด์ ๋ํ ํ ์ด๋ธ๊ณผ ๋ณดํธ์์์ ๋๊ฐ ๊ฒฝ์ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง ํ ์ด๋ธ์ด ์ฃผ์ด์ง๋ค. ์ด๋ ๋ฌธ์ ์์๋ `JOIN`์ ํตํด ๋ ๊ฐ์ง ํ ์ด๋ธ์ ํจ๊ป ์กฐํํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ๋ ๋ฌธ์ ๊ฐ ์ถ์ ๋๋ค. `JOIN`์ ์ดํดํ๊ณ , `ON`, `WHERE`๋ฅผ ์ ์ ํ ์ด์ฉํ๋ฉด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. ์ฝ๋ ์์ด์ง ๊ธฐ๋ก ์ฐพ๊ธฐ SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS OUT..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ค ์๋ ๋ฐฉ๋ฒ n๋ช ์ ์ฌ๋์ด ์ผ๋ ฌ๋ก ์ค์ ์๊ณ ์์ต๋๋ค. n๋ช ์ ์ฌ๋๋ค์๊ฒ๋ ๊ฐ๊ฐ 1๋ฒ๋ถํฐ n๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์์ต๋๋ค. n๋ช ์ด ์ฌ๋์ ์ค์ ์๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด์ 3๋ช ์ ์ฌ๋ programmers.co.kr ๋ฌธ์ ํ์ด ์ฒ์ ๋ฌธ์ ๋ฅผ ์ ํ์์ ๋๋ `DFS`๋ฅผ ํตํด ๊ฐ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๊ณ `K`์ธ ๊ฒฝ์ฐ๋ฅผ ๋ฐํํ๋ฉด ๋์ง ์์๊น ์๊ฐํ๋ค. ํ์ง๋ง ์ด ๋ฐฉ์์ `N`์ด 20์ด๋ฏ๋ก ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ `K`์ธ ๊ฒฝ์ฐ๋ฅผ ๋ฐ๋ก ๊ตฌํ ์ ์๋ ๋ฐฉ๋ฒ์ ํตํด ํ์ด์ผ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ์ฆ, ์ด ๋ฌธ์ ๋ ๋จ์ํ `DFS`๋ฅผ ํตํด ์กฐํฉ์ ๊ตฌํ ์ ์๋๊ฐ?๋ฅผ ๋ฌป๋ ๋ฌธ์ ๊ฐ ์๋ ํฉํ ๋ฆฌ์ผ ์ฑ์ง์ ํตํด ํจ์จ์ ์ผ๋ก K์ธ ๊ฒฝ์ฐ์ ์กฐํฉ์ ์ฐพ์ ์ ์๋๊ฐ?๋ฅผ ๋ฌป๋ ๋ฌธ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฉ๋ฆฌ ๋ฐ๊ธฐ ํจ์ง์ด๋ ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ์ฐ์ตํ๊ณ ์์ต๋๋ค. ํจ์ง์ด๋ ํ๋ฒ์ 1์นธ, ๋๋ 2์นธ์ ๋ธ ์ ์์ต๋๋ค. ์นธ์ด ์ด 4๊ฐ ์์ ๋, ํจ์ง์ด๋ (1์นธ, 1์นธ, 1์นธ, 1์นธ) (1์นธ, 2์นธ, 1์นธ) (1์นธ, 1์นธ, 2์นธ) (2์นธ, 1์นธ, 1์นธ) (2์นธ, 2 programmers.co.kr ๋ฌธ์ ํ์ด ๋ฉ๋ฆฌ ๋ฐ๊ธฐ๋ฅผ ํ ์ ์๋ ๋ฐฉ๋ฒ์ด 1์นธ ๋๋ 2์นธ์ผ๋ก ์ ํด์ ธ ์๋ค. ์ด๋ N๊ฐ์ ์นธ์ ๋ฐ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, ๊ฒฝ์ฐ์ ์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ๊ฐ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ด๋ค ๊ท์น์ ์ด๋ฃจ๋์ง ํ์ธํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. N์ด 1์ธ ๊ฒฝ์ฐ 1๊ฐ : 1์นธ N์ด 2์ธ ๊ฒฝ์ฐ 2๊ฐ : (1 + 1์นธ), 2์นธ N์ด 3์ธ ๊ฒฝ์ฐ 3๊ฐ : (1 + 1 + 1์นธ), (2 + 1์นธ), (1 + 2์นธ) ์ฆ N์ ๋ฐ..