-
[알고리즘] 이코테 - 곱하기 혹은 더하기알고리즘 2022. 7. 21. 14:44728x90
문제
곱하기 혹은 더하기 문제는 각 자리가 숫자 ( 0 ~ 9 )로 이뤄져 있을 때, 문자열 S가 왼쪽부터 오른쪽으로 하나씩 숫자를 확인하며 숫자 사이에 '*' 혹은 '+' 연산자를 넣어 결과적으로 가장 큰 수를 만들고, 사칙연산의 규칙을 따르지 않고, 순차적으로 + 혹은 * 을 이룬다.
접근
지금 현재 존재하는 값이 0이거나 혹은 입력 받아온 값이 0일때는 +, 그 외의 조건에서는 * 을 하여서 가장 큰 수를 구할 수 있다.
풀이
s = input() s_list = list(s) count = int(s_list[0]) for i in range(1, len(s_list)): if s_list[i] == '0' or count == 0: count += int(s_list[i]) else: count *= int(s_list[i]) print(count)
'알고리즘' 카테고리의 다른 글
[알고리즘] 이코테 - 볼링공 고르기 ( 2019 SW 마에스트로 입학 테스트 ) (0) 2022.07.21 [알고리즘] 이코테 - 만들 수 없는 금액 (0) 2022.07.21 [알고리즘] 백준 1439 문자열 뒤집기 (0) 2022.07.21 [알고리즘] 이코테 - 모험가 길드 (0) 2022.07.20 [알고리즘] 백준 - 1240 노드 사이의 거리 (0) 2022.07.20