diff --git a/src/codewars/kata_next_bigger_number_same_digits.py b/src/codewars/kata_next_bigger_number_same_digits.py new file mode 100644 index 0000000..2a43b40 --- /dev/null +++ b/src/codewars/kata_next_bigger_number_same_digits.py @@ -0,0 +1,16 @@ +def next_bigger(n): + digits = list(str(n)) + digits.sort(reverse=True) + number = int("".join(digits)) + if number == n: + 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(next_bigger(84876644310)) diff --git a/tests/codewars/test_next_bigger_number_same_digits.py b/tests/codewars/test_next_bigger_number_same_digits.py new file mode 100644 index 0000000..d743d70 --- /dev/null +++ b/tests/codewars/test_next_bigger_number_same_digits.py @@ -0,0 +1,11 @@ +from src.codewars.kata_next_bigger_number_same_digits import next_bigger + + +def test_next_bigger(): + assert next_bigger(12) == 21 + assert next_bigger(21) == -1 + assert next_bigger(513) == 531 + assert next_bigger(2017) == 2071 + assert next_bigger(414) == 441 + assert next_bigger(144) == 414 + # assert next_bigger(84876644310) ==