• Home
  • About
    • JOOS photo

      JOOS

      Joos's blog

    • Learn More
    • Email
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

[백준] 2011번 : 암호코드 with python3

24 Sep 2018

Reading time ~1 minute

문제: https://www.acmicpc.net/problem/2011

n = input()
arr = [int(x) for x in list(n)]
arr_length = len(arr)
dp = [0] * (arr_length+1)
# i번째 문자까지 해석했을 때, 나올 수 있는 해석의 가짓수
dp[0] = 1
for i in range(1, arr_length+1):
    if (1<= arr[i-1]) and (arr[i-1]<=9):
        dp[i] += dp[i-1]
    if i == 1:
        continue
    value = (arr[i-2] * 10 + arr[i-1])
    # 두자리수 경우의 수 만든다.
    if (10<= value) and (value <=26):
        dp[i] += dp[i-2]

print(dp[arr_length] % 1000000)



algorithm백준 Share Tweet +1