문제설명
+, -, 정수로 이루어진 문자열을 입력받고 괄호를 적절하게 쳐서 최저의 수를 구하는 문제입니다.
작동 순서
1. 문자열을 입력받습니다.
2. 문자열을 -를 기준으로 나눕니다.
3. 만약 -가 없어서 나눌것이 없으면 입력받은 숫자들을 모두 더하여 출력합니다.
4. 문자열의 맨 앞자리부터 첫번째 - 이전까지 구간은 괄호를 쳐도 -가 될수 없기때문에 sum에 모두 더해주고 그 이후의 수들은 모두 sum에서 -를 해주고 출력합니다.
소스코드
exp = input()
e = exp.split('-')
Sum = 0
if len(e) == 1:
One = exp.split('+')
for i in range(len(One)):
Sum += int(One[i])
print(Sum)
else:
for i in range(len(e)):
count = 0
ePart = e[i].split('+')
for j in range(len(ePart)):
count += int(ePart[j])
if i != 0:
Sum -= int(ePart[j])
else:
Sum += int(ePart[j])
print(Sum)
후기
처음에는 복잡해보였고 생각보다 오래걸렸던 문제였지만 문제를 풀어가면서 푸는 법을 알아내고 나서는 쉽게 풀 수 있었습니다.