aboutsummaryrefslogtreecommitdiff
path: root/challenge-238/eric-cheung/python/ch-2.py
blob: e215581ec3681dc10855b210e6be6889aae02674 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from numpy import prod

def GetStep (nStep, nInput):
    if nInput < 10:
        return nStep
    return GetStep (nStep + 1, prod([int(charLoop) for charLoop in str(nInput)]))

## print (GetStep(0, 1))

## arrInput = [15, 99, 1, 34]  ## Example 1
arrInput = [50, 25, 33, 22]  ## Example 2

arrOutput = arrInput[:]

for nRow in range(0, len(arrOutput) - 1):
    for nCol in range(nRow + 1, len(arrOutput)):
        if GetStep (0, arrOutput[nRow]) > GetStep (0, arrOutput[nCol]) or GetStep (0, arrOutput[nRow]) == GetStep (0, arrOutput[nCol]) and arrOutput[nRow] > arrOutput[nCol]:
            vTemp = arrOutput[nRow]
            arrOutput[nRow] = arrOutput[nCol]
            arrOutput[nCol] = vTemp

print (arrOutput)