Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Bigger Together - naive approach solution in Clear category for Bigger Together by BeranekP
from itertools import permutations
def bigger_together(ints):
"""
Returns difference between the largest and smallest values
that can be obtained by concatenating the integers together.
"""
strs = [str(i) for i in ints] # convert to strings
comb = permutations(strs, len(strs)) # find all possible combinations
nums = [int(''.join(c)) for c in comb] # every comb -> join and convert to int
return max(nums) - min(nums)
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert bigger_together([1,2,3,4]) == 3087, "4321 - 1234"
assert bigger_together([1,2,3,4, 11, 12]) == 32099877, "43212111 - 11112234"
assert bigger_together([0, 1]) == 9, "10 - 01"
assert bigger_together([100]) == 0, "100 - 100"
print('Done! I feel like you good enough to click Check')
April 23, 2020