티스토리 뷰

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

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

문제이해

  • 괄호를 적절히 쳐서 주어진 식의 값을 최소로 만드려고 한다.

문제풀이

최소로 만들기 위해서는 값을 더하는게 우선되면 최소값이 된다.

 

그럼 더하기 연산을 어떻게 먼저할까??

 

다행인것은 해당문제에 연산자가 빼기와 더하기 밖에 없다는 것이다. 

그래서 '-' 문자로 split을 진행하면 더하기 연산에 괄호를 친 효과를 할 수 있다.

그 다음 '+'문자가 있는 식에 대해 합을 모두 구하고 연산된 모든 수에대해 빼기 연산을 진행하면 정답을 얻을 수 있다.

exp=input()
exp=exp.split('-')

result=[]
for i in range(len(exp)):
    result.append(sum(list(map(int, exp[i].split('+')))))
        
ans=result[0]
for i in range(1, len(result)):
    ans-=result[i]
print(ans)

'코딩테스트 > 백준' 카테고리의 다른 글

백준 - 서강근육맨(20300, 파이썬)  (0) 2023.03.16
백준-사탕 게임(3085, 파이썬)  (0) 2023.03.16
백준-2477(파이썬)  (0) 2022.10.12
백준-15686(파이썬)  (1) 2022.10.11
백준-11286(파이썬)  (0) 2022.10.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함