각 자리가 숫자로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 'x' 혹은 '+' 연산자를 넣어 만들 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.
(단, + 보다 x를 먼저 계산하는 일반적인 방식과 달리, 모든 연산은 왼쪽부터 차례대로 이루어진다고 가정)
- 입력
첫째 줄에 여러 개의 숫자로 구성된 하나의 문자열 S가 주어진다.(1 <= S의 길이 <= 20)- 출력
첫째 줄에 만들어질 수 있는 가장 큰 수를 출력한다.
왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인
첫번째 수를 기준으로 다른 하나의 수가 계속하여 더해지거나 곱해짐
'x' 혹은 '+' 연산자를 넣어 만들 수 있는 가장 큰 수
0 이나 1의 경우, 곱했을 때보다 더했을 때 결과가 더 커짐
왼쪽부터 차례대로 이루어진다고 가정
단순히 결과에 연산을 하여 결괏값을 갱신함
s = input()
first = int(s[0])
result = first
for num in s[1:]:
num = int(num)
if result <= 1 or num <= 1:
result += num
else:
result *= num
print(result)
first = int(s[0]), result = first
와 같이 첫번째 값을 결괏값으로 설정하여 코드를 간결히 할 수 있음