<aside> 💡 전화번호 문자 조합 링크

</aside>

문제 정리

<aside> 💡 2~9까지의 숫자가 입력된다. 모든 문자 조합을 나타내라.

2번에는 abc 3번에는 def의 알파벳을 입력할 수 있는데 2번과 3번을 눌러서 나올 수 있는 알파벳의 모든 조합을 나타내는 문제이다.

</aside>

Untitled

<aside> 💡 예시) 입력값 “23”일때

</aside>

Input: digits = "23"
Output: ["ad","ae","af","bd","be","bf","cd","ce","cf"]

접근 방법

<aside> 💡 1. 먼저 딕셔너리로 2차원 그래프를 생성한다.

  1. 재귀함수를 사용해 dfs방식으로 탐색해나간다. </aside>

코드 진행

<aside> 💡 1. 딕셔너리로 2차원 그래프 생성하기.

</aside>

dic = {
        "2": "abc",
        "3": 'def',
        "4": 'ghi',
        "5": 'jkl',
        "6": 'mno',
        "7": 'pqrs',
        "8": 'tuv',
        "9": 'wxyz'
    }

<aside> 💡 2. 결과값 리스트를 생성해준다.

</aside>

result = []

<aside> 💡 3. 예외사항으로 입력값이 아무것도 없을 경우 []를 반환하도록 해준다.

</aside>

if not digits:
        return []