반응형
[문제 출처]
https://www.acmicpc.net/problem/2193
[문제 풀이]
이 문제는 직접 이친수가 몇 개인지 세보는 과정을 통해서 규칙을 발견해 풀어야 한다.
n = 0 > 0개
x
n = 1 > 1개
1
n = 2 > 0 + 1 = 1개
10
n = 3 > 1 + 1 = 2개
100 101
n = 4 > 1 + 2 = 3개
1000 1001 1010
n = 5 > 2 + 3 = 5개
10000 10001 10010 10100 10101
...
n자리수의 이친수는 n-1자리 이친수의 개수와 n-2자리 이친수의 개수의 합이 된다.
import sys
input = sys.stdin.readline
n = int(input())
dp = [0,1,1]
for i in range(3, 91):
dp.append(dp[i-1]+dp[i-2])
print(dp[n])
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 9461 파도반 수열 (0) | 2022.07.14 |
---|---|
[python/파이썬] 백준 1003 피보나치 함수 (0) | 2022.07.13 |
[python/파이썬] 백준 14501 퇴사 (0) | 2022.07.12 |
[python/파이썬] 백준 15624 피보나치 수 7 (0) | 2022.07.12 |
[python/파이썬] 백준 10211 Maximum Subarray (0) | 2022.07.11 |