Leetcode 17 - Letter combinations of phone number

이두현·2021년 12월 28일
0
post-custom-banner

Leetcode 17

언어: python3

class Solution:
    def letterCombinations(self, digits: str) -> List[str]:
        dictionary = {'2':['a','b','c'],'3':['d','e','f'],'4':['g','h','i'],'5':['j','k','l'],'6':['m','n','o'],
                     '7':['p','q','r','s'],'8':['t','u','v'],'9':['w','x','y','z']}
        
        if len(digits)==0:
            return []
        
        if len(digits)==1:
            return dictionary[digits]
        
        previous = self.letterCombinations(digits[1:])
        current = []
        
        for char in dictionary[digits[0]]:
            for i in range(len(previous)):
                current.append(char + previous[i])
                
        return current
                 
         

bottom up 방식으로 처음 두 조건문에 주어진 input의 종료 조건을 명시 후 이전 길이의 문자 까지 재귀적으로 처리한다

profile
0100101
post-custom-banner

0개의 댓글