알파코드(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)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

티스토리툴바