티스토리 뷰
📌문제
각 자리가 숫자로만 이루어진 문자열 S가 주어졌을 때 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 X 혹은 + 연산자를 넣어 결과적으로 만들어 질 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.
모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정
📌풀이
대부분은 +보다 x 연산이 값을 더 크게 만듦
하지만 두 수 중에서 하나라도 0이나 1인 경우 곱하기 보다 더하기 수행하는 것이 효율적
📌코드
data = input()
# 첫번째 문자를 숫자로 변경하여 대입
result = int(data[0])
for i in range(1, len(data)):
# 두 수 중 하나라도 0 혹은 1인 경우 더하기
num = int(data[i])
if result <= 1 or num <= 1:
result += num
else:
result *= num
print(result)
📌참고