진박사의 일상

[이코테] Greedy 문제 - 2. 곱하기 혹은 더하기 본문

프로그래밍/코딩테스트 공부

[이코테] Greedy 문제 - 2. 곱하기 혹은 더하기

진박사. 2021. 9. 5. 16:09

문제 : 주어진 숫자 문자열을 각 자리수를 사칙연산 우선순위를 무시하고 왼쪽부터 + 또는 *를 써서 최대가 되는 숫자를 찾기

line = list(map(int, list(input())))
print(line)

result = 0
if len(line) == 1:
    result = line[0]
else:
    result = line[0]
    for i in range(len(line)-1):
        if result + line[i+1] >= result * line[i+1]:
            result = result + line[i+1]
        else:
            result = result * line[i+1]

print(result)

정석적으로 풀긴 했지만 해답이 더 깔끔한듯.