From 49c892ef9bde744d5be9153bab3de217c4c35e94 Mon Sep 17 00:00:00 2001 From: Seongbeom Park Date: Mon, 9 May 2022 08:19:42 +0900 Subject: [PATCH] first implementation Verifying solution... Test 1 passed! Test 2 passed! Test 3 failed [Hidden] Test 4 passed! [Hidden] Test 5 passed! [Hidden] Test 6 passed! [Hidden] Test 7 passed! [Hidden] Test 8 failed [Hidden] Test 9 passed! [Hidden] Test 10 passed! [Hidden] --- extra/gearing-up-for-destruction/solution.py | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 extra/gearing-up-for-destruction/solution.py diff --git a/extra/gearing-up-for-destruction/solution.py b/extra/gearing-up-for-destruction/solution.py new file mode 100644 index 0000000..65e0dd3 --- /dev/null +++ b/extra/gearing-up-for-destruction/solution.py @@ -0,0 +1,35 @@ +def solution(pegs): + odd, even = sum_odd_even(pegs) + + if len(pegs) % 2 == 0: + s = 2 * odd - 2 * even - pegs[-1] + pegs[0] + if s <= 0: + return [-1, -1] + if s % 3 == 0: + return [2*s/3, 1] + else: + return [2*s, 3] + else: + s = 2 * odd - 2 * even + pegs[-1] + pegs[0] + if s <= 0: + return [-1, -1] + return [2*s, 1] + +def sum_odd_even(pegs): + odd, even = 0, 0 + for i, peg in enumerate(pegs): + if i % 2 == 1: + odd += peg + else: + even += peg + return odd, even + + +tests = [ + ([4, 30, 50], [12, 1]), + ([4, 17, 50], [-1, -1]), + ] + +for i, o in tests: + result = solution(i) + print (i, result == o, result, o)