각 자리가 숫자(0부터 9)로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 ‘x’ 혹은 ‘+’연산자를 넣어 결과적으로 만들어 질 수 있는 가장 큰 수를 구하는 프로그램을 작성하세요
단 모든 연산은 우선자 대신 왼쪽부터 작동합니다.
예시) 02984 ((((0+2)x9)x8)x4) = 576
결국 해당 문자의 경우 최대의 크기를 위해서는 모두 곱해버리면 된다. 0과 1을 제외해서
1의 경우 더해줘야 한다.
1
2
3
4
5
6
7
8
9
10
11
data = input()
count = 1
for x in data:
if x!='0':
count = int(x)*count
elif x=='1':
count = int(x)+count
else:
continue
print(count)
끝이다. 값 for문으로 돌려서 0아닌 것만 모조리 곱해버리고 1일경우 더해주고
0이라면 더하거나 곱하는 연산을 수행하지 않아도 되니 넘어가면 된다.
Comments powered by Disqus.