[백준]1541번 잃어버린 괄호 - 그리디
SW개발/코딩테스트

[백준]1541번 잃어버린 괄호 - 그리디

 

a = input().split('-')
sum = 0
for i in a[0].split('+'):
    sum += int(i)
for i in a[1:]:
    for j in i.split('+'):
        sum -= int(j)
print(sum)

 

코드 설명 

먼저 -를 기준으로 문자열을 분리시켜 저장한다. 그 후, 리스트의 첫번째 원소에 있는 숫자들을 더해주기 위해 + 로 분리하고 그 값을 더해준다. 그 다음 리스트의 두번째 원소부터 +로 모두 분리시켜 준 뒤, 그 값을 모두 뺄셈하여준다.

 

Point : 해당 수식에서 -를 만나면 다음 -가 나오기 전까지는 모두 뺄셈을 해주면 최솟값을 만들 수 있다. 따라서, -로 문자열을 분리 시킨 후 분리되어 있는 값들은 + 이므로 수들을 더하여 준 후, 그 더한 수를 뺄셈을 해주면 정답을 구할 수 있다.

728x90