코딩테스트/👩💻 이코테
[이코테/greedy]곱하기 혹은 더하기
병아리는삐약삐약
2023. 9. 4. 15:01
문제
숫자로 이루어진 문자열 S가 주어졌을 때,
왼쪽부터 +, x 연산을 수행하여 만들 수 있는 가장 큰 수를 구하라 ( 연산우선순위 고려x ,연산은 왼쪽부터)
정답
strs = list(map(int,input()))
result = 1
for s in strs:
if s <=1:
result+=s
else:
result*=s
print(result)
풀이
처음 풀 때는
보통 0이 아니면 곱연산이 더 큰 값을 만들 수 있을 거라고 생각해서
입력받은 문자열을 int로 바꿔서 리스트에 넣은 후
원소를 차례대로 조회하면서 0이 아니라면 result에다가 곱하는 방식의 코드를 작성했다
근데 알고보니 1일때도 곱보단 합이 더 큰 수를 만들 수 있었다는 사실..
그래서 수정한 코드.