[BOJ]2011. 암호코드

Jungmin Lee·2021년 4월 4일
0

APS

목록 보기
14/25
post-thumbnail

BOJ 2011 문제 바로가기
문제의 저작권은 백준 온라인저지에 있습니다.

문제

나의 코드

def is_alpa_one(str):
    if 1<=int(str)<=9:
        return True
    else:
        return False

def is_alpa_two(str):
    if 10<=int(str)<=26:
        return True
    else:
        return False

input_str=input()
length=len(input_str)
map=[0]*(length+1)
answer=-1
if input_str[0]=='0':
    answer=0
else:
    map[0]=1
    if length>=2:
        if is_alpa_two(input_str[0:2]):
            map[1] += 1
        if is_alpa_one(input_str[1]):
            map[1] += 1

    for i in range(2, length):
        if is_alpa_two(input_str[i - 1:i + 1]):
            map[i] = (map[i] + map[i - 2]) % 1000000
        if is_alpa_one(input_str[i]):
            map[i] = (map[i] + map[i - 1]) % 1000000

    answer=map[length-1]

print(answer)

중간에 0이나오면 무조건 불가능한 코드로 판단했었지만 1020같은 코드도 가능하다는 것을 유의해야한다.

profile
금융 도메인과 개발 지식을 함께 쌓아가는 주니어 개발자입니다😊

0개의 댓글