언어: 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의 종료 조건을 명시 후 이전 길이의 문자 까지 재귀적으로 처리한다