aboutsummaryrefslogtreecommitdiff
path: root/challenge-067/lubos-kolouch/python/ch-2.py
blob: 31be7b2047d6f005945146631d2a2076df931185 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/env python
# -*- coding: utf-8 -*-

from typing import List


def letter_combinations(s: str) -> List[str]:
    phone = {
        '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'],
    }

    result = ['']

    for digit in s:
        new_result = []
        for res in result:
            for letter in phone[digit]:
                new_result.append(res + letter)
        result = new_result

    return result


s = '35'
combinations_list = letter_combinations(s)
print("[", ", ".join(f'"{comb}"' for comb in combinations_list), "]")