본문 바로가기
Algorithm/Dynamic Programming

[파이썬] 백준 2193 : 이친수 (실버3)

by 베짱이28호 2023. 10. 12.

[파이썬] 백준 2193 : 이친수 (실버3)

 

2193번: 이친수

0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않

www.acmicpc.net


문제


풀이

방향성 생각

  • 2가지 상태가 나누어진 DP
  • 현재 1인경우 다음은 0
  • 현재 0인경우 다음은 0 또는 1

 

전체코드

n = int(input())

dp = [[0]*n for _ in range(2)]
dp[1][0] = 1

for i in range(n-1):
    dp[0][i+1] += (dp[0][i] + dp[1][i])
    dp[1][i+1] += dp[0][i]

print(dp[0][-1]+dp[1][-1])

 

코멘트

댓글