한 걸음씩 기록하며
[백준] 1541번 잃어버린 괄호 본문
⛏ 문제 파악
- 괄호를 적절히 쳐서 주어진 식의 값을 최소로 만드는 문제
- 최소로 만드려면, -를 기준으로 안에 있는 값들을 괄호로 묶으면 된다.
- 가령 55-50+40-30+40 이라는 식이 주어졌다면, 아래와 같이 -를 기준으로 괄호로 묶으면 최소값이 된다.
- 55 - (50 + 40) - (30 + 40)
👉🏻 답안
from sys import stdin
line = list(stdin.readline().strip().split('-'))
sum = 0
for i in line[0].split('+'):
sum += int(i)
for i in range(1, len(line)):
x = line[i].split('+')
for j in range(0,len(x)):
sum -= int(x[j])
print(sum)
📑 간단한 설명
- 처음에 받을 때 '-'로 split 한다.
- 나뉜 것들을 '+' split 하면 숫자들이 나올 것이다.
- 먼저 line[0]은 무조건 더해줘야한다. (위에서 55를 생각하면 된다.)
- line[0]을 '+' 으로 나눠서 더해준다.
- 나머지 line은 이중 포문을 통해서 '+' 으로 split 하고, 모든 값들을 다 빼준다.
'알고리즘 & 코딩테스트' 카테고리의 다른 글
[백준] 11399번 ATM (0) | 2022.03.19 |
---|---|
[백준] 11047번 동전 0 (0) | 2022.03.19 |
[백준] 11050번 이항 계수 1 (0) | 2022.03.18 |
[백준] 1934번 최소공배수 (0) | 2022.03.18 |
[백준] 2609번 최대공약수와 최소공배수 (0) | 2022.03.18 |
Comments