diff --git a/src/codewars/kata_next_bigger_number_same_digits.py b/src/codewars/kata_next_bigger_number_same_digits.py index 2a43b40..e1e1533 100644 --- a/src/codewars/kata_next_bigger_number_same_digits.py +++ b/src/codewars/kata_next_bigger_number_same_digits.py @@ -1,16 +1,16 @@ def next_bigger(n): - digits = list(str(n)) - digits.sort(reverse=True) - number = int("".join(digits)) - if number == n: + digits = [int(x) for x in list(str(n))] + + pivot = -1 + for i in range(1, len(digits)): + if digits[-1] > digits[-2 * i]: + pivot = -2 * i + break + if pivot == -1: return -1 - for i in range(n + 1, number + 1): - higher_number = list(str(i)) - higher_number.sort(reverse=True) - - if higher_number == digits: - return i + print(pivot) + return digits -print(next_bigger(84876644310)) +print(next_bigger(534976))