''' Bill keeps his most treasured savings in a home safe with a combination lock. The combination lock is represented by n rotating disks with digits from 0 to 9 written on them. Bill has to turn some disks so that the combination of digits on the disks forms a secret combination. In one move, he can rotate one disk one digit forwards or backwards. In particular, in one move he can go from digit 0 to digit 9 and vice versa. What minimum number of actions does he need for that? Given an integer original and an integer of final code combination target, return an integer of the minimum number of moves Bill needs to open the lock Example 1 Input: original = 82195; target = 64723 Output: 13 ''' class Solution(object): def solve(self, original:int, target:int) -> int: print(f"original: {original}, target: {target}") original_str = f"{original}" target_str = f"{target}" turns = 0 for i in range(len(original_str)): diff = abs(int(original_str[i]) - int(target_str[i])) turns += min(diff, 10 - diff) return turns s = Solution() print(s.solve(82195, 64723)) print(s.solve(12345, 98765)) # Output: 1