728x90
반응형
https://www.codewars.com/kata/5ae62fcf252e66d44d00008e/train/python
이 문제는 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)
|
반응형
'알고리즘 > 코드워' 카테고리의 다른 글
[python]Get Planet Name By ID (0) | 2020.04.24 |
---|---|
[python]Total amount of points (0) | 2020.04.22 |
[python]Abbreviate a Two Word Name (0) | 2020.04.19 |
[python]Did I Finish my Sudoku? (0) | 2020.04.18 |
[python]Sudoku Solver (0) | 2020.04.17 |