Search

[백준 2011] 암호코드

[백준 2011] 암호코드

Tip

암호코드는 문자형태로 받아 list에 저장
암호코드의 첫번째 자리가 0이 아니라면 d[1] = 1
그 다음에 오는 문자열 숫자가 0 이상이라면
d[i] = d[i - 1]
그 다음에 오는 문자열과 현재 문자열의 합이 10 ~ 26이라면
d[i] += d[i - 2]

풀이 소스 코드

import sys si = sys.stdin.readline nums = list(si().rstrip()) l = len(nums) d = [0] * (l + 1) d[0] = 1 if nums[0] == "0": d[1] = 0 else: d[1] = 1 for i in range(2, l + 1): if 0 < int(nums[i - 1]): d[i] = d[i - 1] if 10 <= int(nums[i - 2] + nums[i - 1]) <= 26: d[i] += d[i - 2] print(d[l] % 1000000)
Python