알고리즘

[알고리즘] 더하기 or 곱하기 python

자바칩 프라푸치노 2021. 6. 12. 20:23
input = [0, 3, 5, 6, 1, 2, 4]

# Q. 다음과 같이 0 혹은 양의 정수로만 이루어진 배열이 있을 때, 
# 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 
# 숫자 사이에 '✕' 혹은 '+' 연산자를 넣어 결과적으로 
# 가장 큰 수를 구하는 프로그램을 작성하시오. 

# 단, '+' 보다 '✕' 를 먼저 계산하는 일반적인 방식과는 달리, 
# 모든 연산은 왼쪽에서 순서대로 이루어진다.

# 숫자가 0이나 1이면 더하는게 이득이다
# sum이 0이나 1이면 더하는게 이득이다.
def find_max_plus_or_multiply(array):
    multiply_sum = 0
    for number in array:
        if number <= 1 or multiply_sum <= 1:
            multiply_sum += number
        else:
            multiply_sum *= number
    return multiply_sum


result = find_max_plus_or_multiply(input)
print(result)

숫자가 0 이나 1이면 곱하면 더 작으니까 더하고

0이나 1이 아니면 곱한다

 

728x90