summaryrefslogtreecommitdiff
path: root/please-pass-the-coded-messages/n1c00o/solution.py
blob: 91fc5caeb90920c5440a08311e079db2a025a8d8 (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
import itertools


def solution(l):
    res = 0

    # Get all the permutations of the list, without duplicates
    for r in range(0, len(l) + 1, 1):

        for i in itertools.permutations(l, r):

            # ignore the empty set
            if i == ():
                continue

            # now we need to convert tuples into an int
            # such as (1, 2, 3) become 123
            num = int("".join(str(x) for x in i))

            # now we check if the number is divisible by 3
            # and greater than the latest divisible
            if num % 3 == 0 and num > res:
                res = num
    return res


print(solution([3, 1, 4, 1]))  # == 4311
print(solution([3, 1, 4, 1, 5, 9]))  # == 94311