[2011] 암호코드

2023. 5. 3. 21:03·Coding Test/DP
728x90
 

2011번: 암호코드

나올 수 있는 해석의 가짓수를 구하시오. 정답이 매우 클 수 있으므로, 1000000으로 나눈 나머지를 출력한다. 암호가 잘못되어 암호를 해석할 수 없는 경우에는 0을 출력한다.

www.acmicpc.net

 

분석

  1. 10 ≤ 현재 숫자와 바로 그 앞자리 숫자 ≤ 26일 때, 두자리가 가능한 숫자 
    • dp[i] += dp[i-2] : 앞자리 숫자 앞의 DP[현재숫자인덱스-2]에 저장되어있는 값을 DP[현재숫자]에 넣어줌
  2. 1 ≤ 현재 숫자 ≤ 9
    • dp[i] += dp[i-1] : 앞자리 숫자의 DP[앞자리숫자] 또한 DP[현재숫자]에 넣어줌

 

풀이

code = list(map(int, input()))
n = len(code)

dp=[0]*(n+1)
dp[0]=1
dp[1]=1

if code[0] == 0:
    print(0)
else:
    for k in range(1, n):
        i=k+1
        # 1자리
        if code[k] > 0:
            dp[i] += dp[i-1]
        # 2자리
        if 10 <= code[k]+code[k-1]*10 <= 26:
            dp[i] += dp[i-2]
    print(dp[n] % 1000000)

 

더보기

 

 

알파코드(DFS)

분석 풀이 """ 알파벳 A에는 1로, B에는 2로 이렇게 해서 Z에는 26을 할당 "BEAN"을 암호화하면 25114 알파벳으로 바꾸면 BEAAD, YAAD, YAN, YKD, BEKD, BEAN ... 암호화된 코드가 주어지면 그것을 알파벳으로 복

karla.tistory.com

 

 

 

728x90
저작자표시 (새창열림)
'Coding Test/DP' 카테고리의 다른 글
  • 네트워크 선자르기 (Bottom-Up, Top-Down)
  • [2775] 부녀회장이 될테야
  • [2624] 동전 바꿔주기 (DP)
  • [2342] Dance Dance Revolution(3차원 DP)
Karla Ko
Karla Ko
𝘾𝙤𝙣𝙩𝙞𝙣𝙪𝙤𝙪𝙨𝙡𝙮 𝙄𝙢𝙥𝙧𝙤𝙫𝙞𝙣𝙜, 𝘾𝙤𝙣𝙨𝙩𝙖𝙣𝙩𝙡𝙮 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙞𝙣𝙜 𝙔𝙚𝙨!
    250x250
  • Karla Ko
    karlaLog
    Karla Ko
  • 전체
    오늘
    어제
    • Total (467)
      • Spring (19)
      • JPA (4)
      • Cloud & Architecture (15)
        • Kubernetes (5)
        • Docker (3)
        • MSA (2)
        • GCP (1)
        • AWS (4)
      • Devops (1)
      • Message Queue (4)
        • Kafka (2)
        • RabbitMQ (2)
      • Git (4)
      • DB (4)
      • Java (9)
      • Python (4)
      • CS (11)
        • OS (8)
        • Network (2)
        • Algorithm (1)
      • Coding Test (392)
        • programmers (156)
        • Graph (43)
        • DP (37)
        • Search (31)
        • Tree (13)
        • Data Structure (26)
        • Combination (12)
        • Implement (18)
        • Geedy (23)
        • Sort (7)
        • Math (21)
        • geometry (2)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    힙
    최단거리
    덱
    파이썬
    이분탐색
    트리
    BFS
    DP
    스택
    백준
    최대공약수
    자료구조
    큐
    LIS
    최소신장트리
    구현
    프로그래머스
    동적계획법
    그래프
    재귀
    플로이드워셜
    조합
    다익스트라
    그리디
    월간코드챌린지
    구간합
    정렬
    Algorithm
    알고리즘
    DFS
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
[2011] 암호코드
상단으로

티스토리툴바