'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <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
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 200. Number of Islands [Python(파이썬)] (0) | 2021.11.24 |
---|---|
[LeetCode] 23. Merge k Sorted Lists [Python(파이썬)] (0) | 2021.11.24 |
[LeetCode] 886. Possible Bipartition [JAVA(자바)] (0) | 2021.11.24 |
댓글