[ํ๋ก๊ทธ๋๋จธ์ค] ๐ทโโ๏ธ ํ์ผ ์ฅ์๋ฌผ / python
๐ทโโ๏ธ ํ์ผ ์ฅ์๋ฌผ ๋ฌธ์ ํ์ด๋ณด๊ธฐ
๐ ๋์ ์ฝ๋
def solution(N):
rad_array = [1,1]
for i in range(2,N):
rad_array.append(rad_array[-1] + rad_array[-2])
answer = (rad_array[-2] + rad_array[-1]*2)*2
return answer
DP(Dynamic Programming, ๋์ ๊ณํ๋ฒ)์ ์ด์ฉํด ํด๊ฒฐํ ๋ฌธ์ ์ ๋๋ค. DP์ ๊ณํ์ ๋ฐ๋ผ ์ ์ฒด ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ์ผ๋ก ๋๋๊ฒ ์ต๋๋ค. ์ต์ข ์ ์ผ๋ก ๊ตฌํ ์ง์ฌ๊ฐํ์ ๋๋ ๋ ๋ง์ง๋ง์ผ๋ก ๊ตฌํ ์ ์ฌ๊ฐํ๊ณผ ๊ทธ ์ ์ ์ฌ๊ฐํ์ ๋ณ์ ๊ธธ์ด๋ฅผ ํตํด ๊ตฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณ์ ๊ตฌํ๋ ๋ฌธ์ ๋ก ์นํํด์ ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฅ ์์ ์ ์ฌ๊ฐํ๋ถํฐ ๊ตฌํ๋ฉด ๋ง์ง๋ง์ผ๋ก ๊ตฌํ ์ ์ฌ๊ฐํ์ ํ ๋ณ๊ณผ ๊ทธ ์ ์ ์ฌ๊ฐํ์ ๋ณ์ ๊ธธ์ด ํฉ์ด ๊ตฌํ๊ณ ์ํ๋ ๋ณ์ ๊ธธ์ด์
๋๋ค. ์ด๋ rad_array
๋ผ๋ list
์๋ฃํ์ ์ ์ฅ๋๊ณ , ๋ค์ ์ํ์์๋ ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฉ๋ชจ์ด์ ์ด์
(memoization) ๊ณผ์ ์ ํตํด ๋ง์ง๋ง ์ ์ฌ๊ฐํ์ ๋ณ์ ๊ธฐ๋ฆฌ๊น์ง ๊ตฌํฉ๋๋ค. ์ต์ข
์ ์ผ๋ก ๊ตฌํ ์ ์ฌ๊ฐํ๋ค์ ๋ณ์ ๊ธธ์ด๋ฅผ ํตํด ๊ตฌํ๊ณ ์ํ๋ ๋๋ ๋ฅผ ๊ตฌํ๋ฉด ๋ฌธ์ ๋ ํด๊ฒฐ๋ฉ๋๋ค.
Written with StackEdit.
'Algorithm > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จ ํ๋ฆฐํฐ ๋ฌธ์ / python (0) | 2019.02.18 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จโ๐ป ๊ธฐ๋ฅ ๊ฐ๋ฐ / python (2) | 2019.02.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๐ทโโ๏ธ ํ์ผ ์ฅ์๋ฌผ / python (0) | 2019.02.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จโ๐ซ ์ ์ ์ผ๊ฐํ / python (0) | 2019.02.18 |
[ํ๋ก๊ทธ๋๋จธ์ค] โพ ์ซ์ ์ผ๊ตฌ / python (4) | 2019.02.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๐ต๏ธโโ๏ธ ์์ ์ฐพ๊ธฐ / python (0) | 2019.02.15 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จ ํ๋ฆฐํฐ ๋ฌธ์ / python
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จ ํ๋ฆฐํฐ ๋ฌธ์ / python
2019.02.18 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จโ๐ป ๊ธฐ๋ฅ ๊ฐ๋ฐ / python
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จโ๐ป ๊ธฐ๋ฅ ๊ฐ๋ฐ / python
2019.02.18 -
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จโ๐ซ ์ ์ ์ผ๊ฐํ / python
[ํ๋ก๊ทธ๋๋จธ์ค] ๐จโ๐ซ ์ ์ ์ผ๊ฐํ / python
2019.02.18 -
[ํ๋ก๊ทธ๋๋จธ์ค] โพ ์ซ์ ์ผ๊ตฌ / python
[ํ๋ก๊ทธ๋๋จธ์ค] โพ ์ซ์ ์ผ๊ตฌ / python
2019.02.15