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