코딩테스트/백준 (python)
백준 / 1541번 / 잃어버린 괄호 / python 파이썬
seulll
2024. 9. 23. 16:38
문제 : https://www.acmicpc.net/problem/1541
문제 접근
이 문제는 괄호가 없는 식이 주어졌을 때, 예를 들어 2 + 3 - 10 + 5 + 22 라는 식이 있을 때 괄호를 넣어 식의 값을 최소로 만드는 코드를 작성해야 한다. 값이 최소가 되기 위해서는 '-'를 기준으로 사이에 있는 값들에 괄호를 넣으면 최솟값을 구할 수 있다. 따라서 입력을 받을 때 split('-')을 사용해 나누고, 이 나누어진 각각의 문자열의 연산 결과를 구하기 위해 split('+')을 하고, 그 값을 for문을 돌려 더한 뒤 tmp 배열에 넣는다. 이후 배열의 값들을 마이너스 연산을 하면 괄호를 넣어서 계산한 연산 결과와 동일한 결과를 얻을 수 있다.
코드
n = input().split('-')
tmp = []
for i in n:
num = 0
for j in i.split('+'):
num += int(j)
tmp.append(num)
result = tmp[0]
for i in tmp[1:]:
result -= i
print(result)