Seongbeom Park e5833ae10c single negative panel
Verifying solution...
Test 1 passed!
Test 2 passed!
Test 3 passed! [Hidden]
Test 4 passed! [Hidden]
Test 5 failed  [Hidden]
2022-05-08 03:39:09 +09:00

28 lines
655 B
Python

def solution(xs):
if len(xs) == 1:
return str(xs[0])
result = 1
max_negative = 0
for power in xs:
if power == 0:
continue
result *= power
if power < 0:
if max_negative == 0:
max_negative = power
else:
max_negative = max(max_negative, power)
if max_negative < 0 and result < 0:
result /= max_negative
return str(result)
tests = [
([2, 0, 2, 2, 0], "8"),
([-2, -3, 4, -5], "60"),
([2, -3, 1, 0, -5], "30"),
]
for i, o in tests:
result = solution(i)
print (i, result == o, result, o)