링크
휴대폰 키패드에서 숫자들의 조합으로 만들어낼 수 있는 문자열들을 구하는 문제
from itertools import product
def letterCombinations(self, digits: str) -> [str]:
numberToChar = {'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 not digits:
return []
item = [numberToChar[k] for k in digits]
return [''.join(arr) for arr in list(product(*item))]
def letterCombinations(self, digits: str) -> [str]:
numberToChar = {'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']}
cmb = [''] if digits else []
for d in digits:
cmb = [p + q for p in cmb for q in dict[d]]
return cmb