[백준] 2011 암호코드 in Python -> 조금 까다로웠던 DP 문제

2022. 2. 18. 12:37·Algorithm (PS)
728x90

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

 

2011번: 암호코드

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

www.acmicpc.net

두자릿수일수도 있고 한자릿수일수도 있다 이게 헷갈렸다 근데 이게 이 문제의 포인트 ! 

단, 두자릿수는 10 ~ 26 이어야 한다. Z가 26이므로 마지막 알파벳이된다. 

한자릿수는 0이면 안된다 !! A가 1부터 시작하기 때문이다 

 

그리고 한자리수로 0보다 클때 : dp[i] += dp[i-1] 로 이전값을 더해준다 

현재 검사중인 인덱스와 그다음 인덱스를 합쳐서 10이상 26이하의 두자릿수로 볼 수 있을 때 : 두자릿수에 대한 경우이므로 dp[i-2] 값을 dp[i] 에 더해준다 

n = input()
l = len(n)
dp = [0]*(l+1)

if n[0] == "0":
    print(0)
else:
    dp[0] = 1
    dp[1] = 1
    for i in range(2, l+1):
        if int(n[i-1]) > 0: # 한자리수 일 때 
            dp[i] += dp[i-1]
        temp = int(n[i-1]) + 10 * int(n[i-2])
        if 10 <= temp < 27:
            dp[i] += dp[i-2]

    print(dp[l]%1000000)

참 매력있는 dp 문제..!!! 알쏭달쏭해서 재밌당 

728x90

'Algorithm (PS)' 카테고리의 다른 글

[백준] 2263 트리의 순회 -> 트리의 inorder, postorder의 성질을 이해하자  (0) 2022.02.21
[백준] 1918 후위표기식 Python - 자료구조 시간에 나온 stack 과제  (0) 2022.02.21
[백준/삼성기출] 14889 스타트와 링크 - 완전탐색과 combinations  (0) 2022.02.18
[백준] 10819 in Python 차이를 최대로  (0) 2022.02.17
[백준] 1967 트리의 지름 : 다익스트라를 응용하자 !  (0) 2022.02.16
'Algorithm (PS)' 카테고리의 다른 글
  • [백준] 2263 트리의 순회 -> 트리의 inorder, postorder의 성질을 이해하자
  • [백준] 1918 후위표기식 Python - 자료구조 시간에 나온 stack 과제
  • [백준/삼성기출] 14889 스타트와 링크 - 완전탐색과 combinations
  • [백준] 10819 in Python 차이를 최대로
minjiwoo
minjiwoo
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
minjiwoo
minji's engineering note
minjiwoo
전체
오늘
어제
  • 분류 전체보기 (613)
    • Data Engineering (42)
      • Apache Spark (11)
      • Databricks & Delta Lake (9)
      • Airflow (3)
      • SQL (6)
      • Trouble Shooting (2)
      • Hadoop (2)
      • MLOps (1)
    • Cloud Engineering (104)
      • AWS (23)
      • Linux 🐧 (29)
      • Docker 🐳 (21)
      • Kubernetes ⚙️ (20)
      • Ansible (10)
    • Computer Science (87)
      • 네트워크 (9)
      • 운영체제 (25)
      • 정보처리기사 (48)
      • CS 기술 면접 스터디 (3)
    • Programming Languages (27)
      • Python (17)
      • C와 C++ (10)
    • Backend (5)
      • Django (2)
    • 프로젝트 (2)
      • 테크포임팩트 (2)
    • iOS (11)
      • 레이블러리 (2)
    • Algorithm (PS) (275)
      • LeetCode (6)
    • 개발일기 (30)
      • 내돈내산 후기🎮 (3)
      • 개발자 취준생 (5)
      • Today I Learned (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Hi there

인기 글

태그

  • 클라우드
  • 파이썬
  • python
  • 프로그래머스
  • 카카오코딩테스트
  • 운영체제
  • 데이터브릭스
  • linux
  • 데이터엔지니어
  • BFS
  • 리눅스
  • 코딩테스트
  • 알고리즘
  • Leetcode
  • docker
  • 백트래킹
  • dfs
  • 백준
  • ansible
  • Swift
  • EC2
  • 데이터엔지니어링
  • 스파크
  • Databricks
  • 쿠버네티스
  • AWS
  • Kubernetes
  • SPARK
  • 빅데이터
  • dp

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
minjiwoo
[백준] 2011 암호코드 in Python -> 조금 까다로웠던 DP 문제
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.