๋ฐฑ์ค 1003 ํ์ด์ฌ
https://www.acmicpc.net/problem/1003
์ฌ๊ท๋ฅผ ํตํ ํผ๋ณด๋์น๋ฅผ ๊ตฌํ๊ณ 0๊ณผ 1๊น์ง ๋ด๋ ค๊ฐ์ ๋ 0๊ณผ 1์ ์ถ๋ ฅํด์ฃผ๋ ํจ์๊ฐ ์ฃผ์ด์ง๋ค.
์ด๋ 0๊ณผ 1์ ์ถ๋ ฅํ ํ์๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์ด๋ค.
ํผ๋ณด๋์น ์์ด์ ์ฌ๊ท๋ก ์ฃผ๋ก ๊ตฌํํ๋๋ฐ... ๋์ ๊ณํ๋ฒ์ผ๋ก๋ ์ถฉ๋ถํ ๊ฐ๋ฅํ๋ค. ํนํ ์ด๋ฒ ๋ฌธ์ ์์๋ ์ถ๋ ฅ๋๋ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์.... ์ซ์ N์๋ํด์ N-1๊ณผ N-2 ๋ฒ์งธ์ ์ถ๋ ฅํ 0๊ณผ 1์ ์๋ฅผ ํฉ์ฐํ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค.
Python ํ์ด
import sys
read = sys.stdin.readline
cache = {0: [1,0], 1:[0,1]}
for i in range(2, 41):
cache[i] = [cache[i-2][j] + cache[i-1][j] for j in range(2)]
T = int(read())
for _ in range(T):
print(' '.join(map(str, cache[int(read())])))
- ์ด๊ธฐ ๊ฐ์ผ๋ก ์ง์ ํ 0๊ณผ 1์ผ ๋ ์ถ๋ ฅํ๋ ํ์๋ฅผ ๋์ ๋๋ฆฌ์ ๋ด๋๋ค.
- N์ ์ต๋ 40๊น์ง๋ผ๋ ์ ํ์ด ์์ด ๊ทธ๋ฅ ๋ฏธ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋๋๋ค.
๋๊ธ