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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/usr/bin/env python
def plus_join(arr):
return ' + '.join(map(lambda i: str(i), arr))
def elementDigitSum(ints):
elementSum = sum(ints)
explain = f'Element Sum: {plus_join(ints)} = {elementSum}'
# concatenate all the integers together into a single
# string
digitStr = ''.join([ str(i) for i in ints ])
# loop over the individual digits
digits = [ int(d) for d in digitStr ]
digitSum = sum(digits)
explain += "\n"
explain += f'Digit Sum: {plus_join(digits)} = {digitSum}'
absVal = abs(elementSum - digitSum)
explain += "\n"
explain += 'Absolute Difference: '
explain += f'| {elementSum} - {digitSum} | = {absVal}'
return (absVal, explain)
def comma_join(arr):
return ', '.join(map(lambda i: str(i), arr))
def solution(ints):
print(f'Input: @ints = ({comma_join(ints)})')
(sum, explain) = elementDigitSum(ints)
print(f'Output: {sum}\n\n{explain}')
print('Example 1:')
solution([1,2,3,45])
print('\nExample 2:')
solution([1,12,3])
print('\nExample 3:')
solution([1,2,3,4])
print('\nExample 4:')
solution([236, 416, 336, 350])
|