💡문제접근
- 문제 이해는 빨랐지만 코드로 옮기는 과정에서 정말 많은 시간이 소요되었던 문제였다. 여러 코드를 작성하고 돌려봤지만 WA, 런타임에러(ValueError), 런타임에러(SyntaxError) 등이 계속해서 나왔다.
- 매개변수로 받은 expression(식)을 문자열로 받아서 실행하는 함수인
eval()
을 이용해서 풀어봤지만 SyntaxError이 계속 나왔다.
- 값을 최소로 만들기 위해서
-
를 기준으로 split
해준 다음 첫 번째 값은 더해주고 그 뒤의 값들은 전부 빼주면 된다. 이 때, 뒤에 있는 값에 +
가 들어있는 경우 역시 split()
해준 다음 하나하나 빼주는 방식으로 코드를 작성했다.
💡코드(메모리 : 30616KB, 시간 : 40ms)
op = list(input().split("-"))
result = 0
for i in op[0].split("+"):
result += int(i)
for i in range(1, len(op)):
for j in op[i].split("+"):
result -= int(j)
print(result)
💡소요시간 : 2h