- Reference
 
  print(element + c)๋ฅผ ์ฐ์ด ๋ด์ผ ์ดํดํ  ์ ์๋ ๋ก์ง
    
   
Solution
from typing import List
class Solution:
    # ์กฐํฉ ๋ฌธ์ ๋ ์์ ๊ณ ๋ ค X
    def letterCombinations(self, digits: str) -> List[str]:
        answer = []
        # '1'์ด๋ '0'์ ๋ง๋ค์ด์ค ํ์๊ฐ ์์ (์์ธ ์ฒ๋ฆฌ ์ ํด์ค๋ ๋๋๋ก ๋ฌธ์ ์์ ์ ์)
        digits_map = {'2': 'abc', '3': 'def', '4': 'ghi', '5': 'jkl', '6': 'mno', '7': 'pqrs', '8': 'tuv', '9': 'wxyz'}
        # (0 <= digits.length <= 4) -> ์ฌ๊ท๋ก ํธ๋ ๊ฒ ๋ ํจ๊ณผ์ ์ผ ๋ฏ
        def dfs(index: int, element: str) -> None:
            # ๋๊น์ง ํ์ -> ๋ฐฑํธ๋ํน
            if len(digits) == len(element):
                answer.append(element)
                return
            for i in range(index, len(digits)):
                # ํ ์๋ฆฌ์์ ์ซ์(ex. digits_map['2'])์ ๋ํ string(ex. 'abc')
                for c in digits_map[digits[i]]:
                    print(element + c)
                    dfs(i + 1, element + c)
        if not digits:
            return []
        dfs(0, '')
        return answer
 
        
      
      
      
      
  
     
    
      
    
  
Leave a comment