기록하고 까먹지 말기

1003 본문

전공/백준

1003

yha97 2022. 10. 21. 16:17

날짜 : 2022. 10. 21

사용 언어 : python

 

문제

 

코드

import sys

t = int(sys.stdin.readline())
f = [[0, 0] for i in range(41)]
f[0] = [1, 0]
f[1] = [0, 1]

for i in range(2, 41):
    f[i][0] = f[i-1][0] + f[i-2][0]
    f[i][1] = f[i-1][1] + f[i-2][1]
    
#print(f)

for _ in range(t):
    num = int(sys.stdin.readline())
    print(f[num][0], f[num][1])

 

 

알게된 점

- 재귀형식의 피보나치 수열로 풀었지만 시간초과가 발생했고 이를 해결하기 위해 단순 for문으로 만들어 풀이했다.

- 마침 최대로 넣을 수 있는 수가 40이라 큰 부담은 없었다.

- 각각 0, 1을 호출했을 때의 수를 저장하는 2차원 리스트를 만들어 풀이했다.

 

 

참고 사이트

 

'전공 > 백준' 카테고리의 다른 글

1339  (0) 2022.10.23
1789  (0) 2022.10.23
1463  (0) 2022.10.21
2217  (0) 2022.10.20
1026  (0) 2022.10.20