https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
[문제유형]
- 그리디 알고리즘
[문제]
[제출한 코드 및 풀이]
- 값을 최소로 만들기 위해서는 예제에서 - 를 만날 경우 다음 - 까지를 괄호로 묶어야 한다.
- 그러기 위해서 input을 받으며 -를 기준으로 분리시킨다. ex) ["50", "50+40"]
- formula의 0번째 리스트 값을 answer에 계속 더해준다. (-를 만나기 전까지)
- 그 이후 formula의 1번째 리스트부터 반복해서 그 내부의 값들을 answer 에서 빼준다.
formula = input().split('-')
answer = 0
for i in formula[0].split("+"):
answer += int(i)
for i in formula[1:]:
for j in i.split("+"):
answer -= int(j)
print(answer)
'Algorithm' 카테고리의 다른 글
[백준] 11399번: ATM(그리디 알고리즘) - Python (0) | 2022.03.03 |
---|---|
[백준] 11047번: 동전 0(그리디 알고리즘) - Python (0) | 2022.03.03 |
[백준 알고리즘] 10773번: 제로(스택) - Python (0) | 2022.02.28 |
[프로그래머스] 알고리즘 난이도 중/중상 12문제 (Python) -5 (0) | 2022.02.20 |
[프로그래머스] 알고리즘 난이도 중하 8문제 (Python) -3 (0) | 2022.02.12 |