์๊ณ ๋ฆฌ์ฆ with Python
์๋ฐ ๊ตฌํ : https://github.com/Choi33/Algorithm_JAVA
- ๋ฐฑ์ค - ๊ฒ์(1072)
- ๋ฐฑ์ค - ๊ฐ๋ฅ๋ฒ๋(3020)
- ๋ฐฑ์ค - ์ฉ์ก(2470)
- ๋ฐฑ์ค - ๋ถ๋ฑํธ(2529)
-
ํ๋ก๊ทธ๋๋จธ์ค - N์ผ๋ก ํํํ๊ธฐ (Level 3)

โ โด ์ด๊ธฐ list์ ์์(set)์ string=int(N*(index+1))๋ฅผ ๋ฃ์
โ โต N์ ์ต๋๊ฐ์ 9์ด์ง๋ง, ์ต์๊ฐ์ด 8๋ณด๋ค ํฌ๋ฉด -1์ return ํ๊ธฐ ๋๋ฌธ์ list์ ํฌ๊ธฐ๋ 7๊น์ง๋ง(0๋ถํฐ ์์ํ๋ 7๊น์ง ๊ฐ๋ฉด ๋ฑ 8๊ฐ)
โ โถ 4์ค for๋ฌธ ํ๋์ฉ ๋ฏ์ด๋ณด์
โ โถ ์ฒซ๋ฒ์งธ for๋ฌธ x: ์ ์ฒด N์ ์ํํ๋ ์์ด๋ก 1 ~ 7๋ก ๊ณ ์ ๊ฐ
โ โถ ๋๋ฒ์งธ for๋ฌธ y : 0 ~ x๊น์ง
โ โถ ์ธ๋ฒ์งธ for๋ฌธ z : index==y์ ์๋ set ์ํ
โ โถ ๋ค๋ฒ์งธ for๋ฌธ w : 0 ~ y๊น์ง set ์ํ ํด์ index==x set์ ๋ฃ์ด์ค
โ โท ์ฌ์น์ฐ์ฐ์์ 3 = 2 + 1 // 3 = 1 + 2 => ๋ค๋ฅธ ์ฐ์ฐ์ผ๋ก ์ทจ๊ธ๋จ
- ํ๋ก๊ทธ๋๋จธ์ค - ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธ

โ โด ๋งจํดํผ ๊ฑฐ๋ฆฌ๊ฐ 1์ผ๋, ์ํ์ข์ฐ๋ฅผ ํ์ธํด์ "P"๊ฐ ์์ผ๋ฉด ์คํจ
โ โต ๋ง์ฝ, ๋งจํดํผ ๊ฑฐ๋ฆฌ๊ฐ 1์ผ๋, ์ํ์ข์ฐ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด "O"๊ฐ ์๋ค๋ฉด?
โ โ "O" ๊ธฐ์ค์ผ๋ก ์ํ์ข์ฐ๋ฅผ ๋ด์ "P"๊ฐ ์์ผ๋ฉด ํต๊ณผ
โ โ ๊ฒ์ฌํ ๋ ๋งจํดํผ ๊ฑฐ๋ฆฌ๊ฐ 2๋ฅผ ์ด๊ณผํ ๊ณณ์ด๋ผ๋ฉด ๋ญ๊ฐ ์๋ ๊ฑฐ๋ฆฌ๋๊ธฐ๋ฅผ ์งํค๊ณ ์๊ธฐ ๋๋ฌธ์ ๋์ด๊ฐ
- ๋ฐฑ์ค - ์์ฝ
-
๋ฐฑ์ค - ์ ์๊ณผ๋ชฉ
- ํ๋ก๊ทธ๋๋จธ์ค - ์๊ถ๋ํ
- ํ๋ก๊ทธ๋๋จธ์ค - [์ซ์ ๋ธ๋ก]https://programmers.co.kr/learn/courses/30/lessons/12923)
- ํ๋ก๊ทธ๋๋จธ์ค - 3Xn ํ์ผ๋ง
- ๋ฐฑ์ค - 2133
โด N์ด ์ง์ ์ผ ๋๋ง ๊ฐ๋ฅ
โต N = 2์ผ ๋, 3๊ฐ์ง ๊ฒฝ์ฐ๊ฐ ๋์ค๋ฏ๋ก, N=4 ์ผ๋ 3*3 ์ด ๋จ
โถ ๊ทผ๋ฐ, 4์ผ ๋ ๋ถํฐ ํน์ ์ผ์ด์ค๊ฐ ์๊น. ๊ฐ ์ซ์์ผ ๋๋ง ๋์ค๋ ํ์ผ ๋ฐฐ์น๊ฐ ์๊น โถ 2๊ฐ์ฉ ์๊น
โท ํน์ ์ผ์ด์ค์ธ 2๊ฐ์ ๋๋จธ์ง ๊ณต๊ฐ์ ์ฑ์์ผํจ. ๋๋จธ์ง ๊ณต๊ฐ๋ฅผ ์ฑ์ธ ์ ์๋ ๊ฐ์? โถ dp[i]=dp[i-j]*2
โ - i๊ฐ 6์ด๊ณ , j๊ฐ 4์ด๋ฉด โถ dp[6]=dp[2]*2(4์ผ ๋ ๋์ค๋ ํน์ ๊ฒฝ์ฐ๋ก 4์นธ ์ฑ์ฐ๊ณ , ๋๋จธ์ง๋ 2์นธ์ ์ฑ์ฐ๋ ๋ฐฉ์ ์ ํ)
- ๋ฐฑ์ค - 01ํ์ผ(1904)
โด dp[ i ] = dp [ i-2 ] + dp [ i-1 ] ์ ์กฐ๊ฑด์ ์ฑ๋ฆฝ



