나의 풀이
# 입력
import sys
read = sys.stdin.readline
eq = read().strip().split('-')
ans = eq[0]
if '+' in ans:
ans = sum(map(int, ans.split('+')))
else:
ans = int(ans)
# 처리
for e in eq[1:]:
if '+' in e:
e = sum(map(int, e.split('+')))
ans -= int(e)
print(ans)
고수의 풀이
a,*b=[sum(map(int,s.split('+')))for s in input().split('-')];print(a-sum(b))
CODE REVIEW
- 먼저
-
부호로 split 해준 뒤에 각각의 sum을 구하고 차례대로 빼주면 최솟값을 얻을 수 있다. - 고수의 풀이를 보면
a-sum(b)
로 풀어내었는데, for문을 한 번만 써도 풀어냈다…! 깔끔하구만