algorithm/문제
[Python]백준 1541번/잃어버린 괄호/greedy
유랄라-
2022. 2. 23. 11:59
반응형
https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
⚡️ 문제 설명
괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램
⚡️ 해결 방법
이 입력을 예시로 설명해보면
55-50+40
1. -기준으로 나누기
n = input().split('-')
2. 1.에서 -를 기준으로 나누었을 때 첫번째 숫자들 모두 더하기
for i in n[0].split('+'):
sum += int(i)
3. 1.에서 -를 기준으로 나누었을 때 뒤에 있는 숫자들 모두 빼기. ( 뒤에있는 +들은 괄호로 묶어서 모두 합친 뒤 빼는 것과 같다.)
for i in n[1:]:
for j in i.split('+'):
sum -= int(j)
⚡️ 코드
import sys
input=sys.stdin.readline
n = input().split('-')
sum = 0
for i in n[0].split('+'):
sum += int(i)
for i in n[1:]:
for j in i.split('+'):
sum -= int(j)
print(sum)
반응형