알파코드(DFS)

2023. 5. 3. 20:42·Coding Test/Search
728x90

분석

 

풀이

"""
알파벳 A에는 1로, B에는 2로 이렇게 해서 Z에는 26을 할당
"BEAN"을 암호화하면 25114
알파벳으로 바꾸면 BEAAD, YAAD, YAN, YKD, BEKD, BEAN ...

암호화된 코드가 주어지면 그것을 알파벳으로 복원하는데 얼마나 많은 방법인 있는지

입력된 코드를 알파벳으로 복원하는데 몇 가지의 방법이 있는지 각 경우를 출력, 그 가지 수도 출력
단어의 출력은 사전순으로 출력
"""
code=list(map(int, input()))
n=len(code) # 종착점
code.insert(n,-1) # 마지막값 <= 2인 경우, idx+1번째 code도 체크하기 때문에
res=[0]*(n+3)
cnt=0

def dfs(idx, p):
    global cnt
    if idx==n:
        for i in range(p):
            print(chr(res[i]+64), end="")
        cnt+=1
        print()

    else:
        for i in range(1,27):
            if code[idx]==i: # 한자리
                res[p]=i
                dfs(idx+1, p+1)
            elif 10<=i and code[idx]==i//10 and code[idx+1]==i%10: # 10자리
                res[p]=i
                dfs(idx+2, p+1)

dfs(0,0)
print(cnt)

 

 

 

 

728x90
저작자표시 (새창열림)
'Coding Test/Search' 카테고리의 다른 글
  • 사과나무(BFS, 격자탐색, 다이아몬드)
  • 송아지 찾기(BFS : 상태트리탐색)
  • 동전 분배하기 (DFS)
  • 동전 바꿔주기 (DFS)
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
    DFS
    DP
    월간코드챌린지
    조합
    재귀
    스택
    다익스트라
    Algorithm
    최소신장트리
    그리디
    구간합
    파이썬
    구현
    덱
    최대공약수
    큐
    정렬
    플로이드워셜
    백준
    그래프
    트리
    이분탐색
    동적계획법
    힙
    알고리즘
    LIS
    자료구조
    최단거리
  • hELLO· Designed By정상우.v4.10.3
Karla Ko
알파코드(DFS)
상단으로

티스토리툴바