요구사항
- 0 ~ 9 그리고 + - 를 공백 없이 한 줄에 입력했을 때, 식에 적절히 괄호를 쳐서 최솟값으로 만들어라.
설계
- split() 연산자를 이용해 -를 기준으로 나누어준다.
- 그 이유는 3 + 4 - 3 - 10 이 예시 입력으로 주어질 때 - 기준으로 나누면 최솟값이 된다.
- (3 + 4) - 4 - 3 - 10 -> -10
구현
str = input().split('-')
num_list = []
for i in str:
plus = i.split('+')
sum = 0
for j in plus:
sum += int(j)
num_list.append(sum)
first_num = num_list[0]
for i in range(1,len(num_list)):
first_num -= num_list[i]
print(first_num)
설명
- 사용자로부터 입력 받을 때, split() 을 이용하여 '-'로 구분하여 저장
- 55-50+40 -> ['55', '50+40']
- for문을 돌릴 때.
- i = 55, 50+40
- plus = ['55'] , ['50', '40']
- 두 번째 for 문
- j = 55
- num_list에 55가 들어감
- j = 50, 40
- num_list 에 90이 들어감
궁금증
- 연산자 타입은 무엇일까? (초기 생각 중 받은 문자열을 슬라이싱해서 하나하나 구분하려고 했음.)