문제 : www.acmicpc.net/problem/1003
1003번: 피보나치 함수
각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.
www.acmicpc.net
풀이
기존 피보나치와 동일하게 해결하면 된다.
result 리스트에 초기 0의 출력 수 , 1의 출력 수를 각각 저장한 뒤
result[i]의 출력 수는 i-1의 출력수 + i-2의 출력수 값이다.
n = int(input())
for _ in range(n):
case = int(input())
result = [[1,0],[0,1]]
for i in range(2,case+1):
temp = [result[i-1][0]+result[i-2][0] ,result[i-1][1]+result[i-2][1]]
result.append(temp)
print(result[case][0], result[case][1])
'알고리즘 풀이 > 백준' 카테고리의 다른 글
백준 11053 : 가장 긴 증가하는 부분 수열 (Python) (0) | 2021.02.04 |
---|---|
백준 11726번 : 2xn 타일링 (Python) (0) | 2021.02.04 |
백준 1541번 : 잃어버린 괄호 (Python) (0) | 2021.02.04 |
백준 2667번 : 단지번호붙이기 (0) | 2021.02.03 |
백준 11399번 : ATM (0) | 2021.02.01 |