알고리즘/코드워

[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(2103)
    print(answer)
    answer = expression_matter(2101)
    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