str = input().split('-')
arr = []
for i in str:
num = 0
for j in i.split('+'):
num += int(j)
arr.append(num)
first = arr[0]
for i in arr[1:]:
first -= i
print(first)
만들어지는 리스트들은 - 로 나누어진 리스트이므로
arr[0] 에서 나머지 arr[1:] 를 빼는 것이 최솟값이 된다.
우선 누구나 - 중심으로 분리해야하는 것은 알 수있을 것이다.
내가 이 문제에서 어려웠던 점은 예제 1,2 와 3번 의 형식이었다. (00009....?)
- 로 분리하게 되면 예제들이 ['55', '50+40'] , ['00009', '00009'] 와 같이 나옴
처음에 내가 접근한 방식은 eval이라는 메서드를 이용해서 먼저 50+40 을 계산해서 55에 뺴는 방식 이었다.
1,2,번 예제에서는 답이 나왔지만
3번 예제에서 leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers 이란 에러가 나왔다.
파이썬에서 int형은 0으로 시작되게 저장하면 안된다고 한다
a ='00009'
int(a)
>> 9