백준 1003 피보나치 수 python

청천·2022년 9월 6일
0

백준

목록 보기
14/41


숫자 1개수 0개수
0 0 1
1 1 0
2 1 1
3 2 1
4 3 2
...

나열해보니 n의 0의 개수는 n-1과 n-2의 0의 개수와 같고
n의 1의 개수 역시 그러하다는 걸 알게 되었다.
이를 이용해서 먼저 모든 수들의(문제에서 40이하 라고 주어짐) 0과 1의 개수를 구해서 리스트에 넣어주고 문제에서 입력 받은 값에 해당하는 0, 1을 리스트에서 뽑아서 출력하는 방법으로 풀었다.

zero = [1,0]			# 0의 개수 저장
one = [0,1]				# 1의 개수 저장
for i in range(2, 41):	# 문제에서 요구하는 모든 값들의 0과 1의 개수를 미리 처리 함
    zero.append(zero[i-2]+zero[i-1])
    one.append(one[i-2]+one[i-1])


T = int(input())
for _ in range():
    N = int(input())
    print(zero[N], one[N])

ps가 너무 안된다 요즘..

0개의 댓글