문제 : 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)
'코딩테스트 > 백준 (python)' 카테고리의 다른 글
백준 /1912번 / 연속합 / python 파이썬 (0) | 2024.09.27 |
---|---|
백준 / 1021번 / 회전하는 큐 / python 파이썬 (1) | 2024.09.25 |
백준 / 2178번 / 미로 탐색 / python 파이썬 (0) | 2024.09.20 |
백준 / 1149번 / RGB거리 / python 파이썬 (0) | 2024.09.19 |
백준 / 1759번 / 암호 만들기 / python 파이썬 (1) | 2024.09.13 |