[BOJ] 11726: 2xn 타일링
🔒 예제
>> 2
2
>> 9
55
🔧 풀이
1. n = int(sys.stdin.readline().rstrip())
2. dp 규칙 찾기
ㄴ 1 -> 2 -> 3 -> 5 -> 8 -> 13 -> ... -> 55 -> ... <피보나치 수열>
3. 피보나치 수열 : f(n) = f(n-1) + f(n-2)
🔑 답안
import sys
n = int(sys.stdin.readline().rstrip())
if n == 1:
print(1)
else:
dp = [0 for _ in range(n+1)]
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
dp[i] = (dp[i-1] + dp[i-2]) % 10007
print(dp[n])
💡 개념
# dp 풀이 순서
1) dp 배열을 1차원으로 할지 n차원으로 할지 고민
2) 문제에서 규칙(수열) 찾기
3) dp[i]에 대해서 식 작성하기
4) 초기값 설정해주기 또는 예외 처리하기
Author And Source
이 문제에 관하여([BOJ] 11726: 2xn 타일링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ohhj1999/BOJ-11726저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)