티스토리 뷰

728x90

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net


  • 해설 : 

괄호가 있던 수식에서 괄호를 모두 뺐다. 

 

100 + 20 - 30 + 50 과 같은 수식에서 괄호를 적절히 넣어 값을 최소로 만드는 방법을 찾는 문제이다.

 

 

 


  • 풀이 :

간단한 아이디어로 해결할 수 있는 문제이다. 

- 부호를 만난다면 다음 - 부호가 나오기 전까지 모든 + 부호들을 괄호로 묶어주면 된다. 

 

100 + 20 - 30 + 50 의 경우

100 + 20 - (30 + 50)이 최솟값이다.

 

 

 


  • 소스코드 : 

 

1
2
3
4
5
6
7
if __name__ == '__main__':
    numbers = input().split('-')
    s = []
    for value in numbers:
        num = list(map(int,value.split('+')))
        s.append(sum(num))
    print(s[0- sum(s[1:]))
cs
320x100
댓글
© 2022 WonSeok, All rights reserved