알고리즘/코드워
[python]Expressions Matter
(ㅇㅅㅎ)
2020. 4. 20. 19:36
728x90
반응형
https://www.codewars.com/kata/5ae62fcf252e66d44d00008e/train/python
Codewars: Train your coding skills
Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.
www.codewars.com
이 문제는 3가지 주어진 수 및 '(', '+', '*', ')' 이 연산자들을 이용하여 최댓값을 리턴하면 됩니다.
여기서 중요한 것은 3가지 주어진 수는 위치를 바꿀 수 없다는 것입니다.
a, b와 c가 1일 경우로 나누어서 문제를 풀었습니다. 하지만 python의 max를 이용하면 코드를 간단하게 짤 수 있습니다.
전체 코드
# My Code
def expression_matter(a, b, c):
if a == 1 and c == 1:
return a + b + c
elif a == 1:
return max((a + b) * c, a + b * c)
elif b == 1:
return max((a + b) * c, a * (b + c))
elif c == 1:
return max(a * b + c, a * (b + c))
else:
return a * b * c
def expression_matter_(a, b, c):
return max(a * b * c, a + b + c, (a + b) * c, a * (b + c))
if __name__=='__main__':
answer = expression_matter(2, 10, 3)
print(answer)
answer = expression_matter(2, 10, 1)
print(answer)
|

반응형