소스코드
n = int(input())
dp = [0]*(1001)
dp[1] = 1
dp[2] = 2
for i in range (3,1001):
dp[i] = dp[i-1]+dp[i-2]
print(dp[n]%10007)
알고리즘
dp라는걸 알고 풀면 정말 쉬운 문제입니다.
2 - 2
3 - 3
4 - 5
5 - 8
6 - 13
7 - 21
8 - 34
9 - 55
이렇게 n번째 숫자를 구할때는 (n-1번째) + (n-2번째)를 해주면 됩니다.
이제 백준 실버 난이도는 손쉽게 풀 수 있을 것 같다는 자신감을 얻었습니다.
'Coding test' 카테고리의 다른 글
[백준/1309/파이썬] 동물원 - DP (0) | 2023.02.10 |
---|---|
[백준/14889/파이썬] 스타트와 링크 (0) | 2023.02.07 |
[백준/1182/파이썬] 부분수열의 합 (0) | 2023.02.05 |
[백준/6064/파이썬] 카잉 달력 (0) | 2023.01.28 |
[백준/3085/파이썬] 사탕게임 - 브루트포스 (0) | 2023.01.27 |