본문 바로가기
Coding Test/LeetCode

[LeetCode] 17. Letter Combinations of a Phone Number [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Letter Combinations of a Phone Number - LeetCode>

1. 문제 (전화 번호 문자 조합)

2~9까지 숫자가 주어졌을 때 전화 번호로 조합 가능한 모든 문자를 출력하라.


2. 풀이

DFS를 이용한 풀이

3. 코드

class Solution:
    def letterCombinations(self, digits: str) -> List[str]:
        def dfs(idx, path):
            if idx == leng:
                ret.append(path)
                return

            for c in dic[digits[idx]]:
                dfs(idx + 1, path + c)


        if not digits: 
            return []

        dic = {
            "2": "abc", "3": "def", "4": "ghi", "5": "jkl",
            "6": "mno", "7": "pqrs", "8": "tuv", "9": "wxyz"
        }
        ret, leng = [], len(digits)

        dfs(0, "")

        return ret
  • 결과 :
방식 Status Runtime Memory Language
그래프 (DFS) [Accepted] 28 ms 14.3 MB python3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글