9625 - BABBA
문제
상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다.
기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했다. 한 번 더 누르니 BA로 바뀌고, 그 다음에는 BAB, 그리고 BABBA로 바뀌었다. 상근이는 화면의 모든 B는 BA로 바뀌고, A는 B로 바뀐다는 사실을 알게되었다.
버튼을 K번 눌렀을 때, 화면에 A와 B의 개수는 몇 개가 될까?
코드
K = int(input())
dp = [(0, 0)] * (K+1)
if K == 1:
print(0, 1)
elif K == 2:
print(1, 1)
else:
dp[1], dp[2] = (0, 1), (1, 1)
for i in range(3, K+1):
dp[i] = (dp[i-2][0] + dp[i-1][0], dp[i-2][1] + dp[i-1][1])
print(*dp[K])
한마디
처음에 문제를 살짝 잘못 이해해서 변한다는 것을 뒤에 더해지는 것으로 생각하고 풀었었다. 😂