백준 문제 링크
BABBA
- DP_A와 DP_B를 각각 만들어준다.
문제에서 나오는 패턴은
N = 0 (A = 0, B = 0)
N = 1 (A = 0, B = 1)
N = 2 (A = 1, B = 1)
N = 3 (A = 1, B = 2)
N = 4 (A = 2, B = 3)
이를 토대로 점화식을 세워 DP에 저장 후
DP_A[N], DP_B[N]을 출력하면 끝!
N = int(input())
if N == 1:
print(0, 1)
else:
DP_A = [0] * (N+1)
DP_B = [0] * (N+1)
DP_A[1] = 0
DP_B[1] = 1
DP_A[2] = 1
DP_B[2] = 1
for i in range(3, N+1):
DP_A[i] = DP_A[i-1] + DP_A[i-2]
DP_B[i] = DP_B[i-1] + DP_B[i-2]
print(DP_A[N], DP_B[N])