Develop/algorithm

이것이 코딩테스트다 2 곱하기 혹은 더하기

미니문92 2021. 12. 8. 20:40

문제 링크

각 자리가 숫자 0부터 9로 이루어진 문자열 S가 주어졌을 때, 숫자 사이에 'X' 혹은 '+' 연산을 넣어 만들어질 수 있는 가장 큰 수를 구하시오.


Test Case

입력
02984

출력
576

입력
567

출력
210


문제 풀이

0이나 1일때는 더하고 아니면 곱하기를 하면서 예외처리 해주면 끝


Source Code

import sys
input = sys.stdin.readline

#ValueError: invalid literal for int() with base 10: '\n'
data = input().rstrip()

ans = int(data[0])
length = len(data)

for i in range(1,length):
    if ans <= 1 or int(data[i]) <= 1:
        ans += int(data[i])
    else :
        ans *= int(data[i])

print(ans)