문제
주어진 식에 괄호를 적절히 쳐서 식의 값을 최소로 만들어라
문제 풀이
처음에 55-50+40을 보고 그냥 +를 다 마이너스로 바꾸면 되지 않을까라고 생각했다.
그런데 55+50+40-30+20+10 이면
40 뒤에부터 -로 바꿔야하기 때문에
- 일단 -를 기준으로 입력값을 split하여 배열에 넣는다.
- 그리고 첫번째로 들어가 있는 값에서 그 뒤의 모든 값을 빼준다
코드
# ------------------------------
arr = input().split('-')
# print(arr)
result = 0
for i in arr[0].split('+'):
result += int(i)
for i in arr[1:]:
for j in i.split('+'):
result -= int(j)
print(result)
# 1+2+3-1인 경우
728x90
'알고리즘 > 백준 문제풀이' 카테고리의 다른 글
[백준] 11399 ATM 파이썬 풀이 (그리디) (0) | 2021.06.24 |
---|---|
[백준] 11047 동전0 파이썬 풀이 (그리디) (0) | 2021.06.24 |
[백준] 1002 피보나치 함수 파이썬 풀이 (동적계획법) (0) | 2021.06.24 |
[백준] 2231 분해합 파이썬 풀이 (브루트포스) (0) | 2021.06.24 |
[백준] 2798 블랙잭 파이썬 풀이 (브루트포스) (0) | 2021.06.24 |