곱하기 혹은 더하기 - Greedy Algorithm


s = input()
intList = list(map(int, s)) #문자열로 입력 받은 값을 정수형으로 변환
#intList = [int(x) for x in s] #방법2

answer = intList[0]
for i in range(1, len(intList)):
if intList[i] > 1 and answer != 0:
answer *= intList[i]
else:
answer += intList[i]
print(answer)
문제 요약 : 숫자(0~9)로만 이루어진 문자열 S가 주어졌을 때 왼쪽부터 오른쪽으로 하나씩 모든 숫자를
확인하며 + , * 연산자를 이용하여 가장 큰 수를 만들어 낸다. 

접근 방식 : 문자열로 입력 받은 값을 정수형으로 변환 후 값을 하나씩 검사하며 1보다 크다면 곱셈을 
수행, 1보다 작거나 같다면 덧셈을 수행하여 가장 큰 값을 만들어 낸다.

알게된 점 : 문자열로 입력받아 그 값을 int형으로 변환할 때 map메소드를 이용하거나 list Comprehension
기법을 사용할 수 있다. 

댓글