본문 바로가기
알고리즘/BOJ

[BOJ] 1541. 잃어버린 괄호

by ㅣlㅣl 2024. 6. 25.

문제

https://www.acmicpc.net/problem/1541

  • 괄호를 적절히 쳐서 주어진 식의 값을 최소로 만들기
  • ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자
55-50+40
# 55-(50+40) = -35

 

주요 아이디어

  • '-' 기준으로 식을 split하기
  • '+' 연산자 처리 후 split된 단위로 '-' 처리
ex. 70+20-30-40
list[0] = 70+20 = 90
list[1] = 30
list[2] = 40

answer = 90 - 30 - 40 = 20

 

코드 구현 (Python 3)

더보기

 

op_str = input()
num_list = op_str.split('-')

for idx, num in enumerate(num_list):
    num_total = num.split('+')
    if len(num_total) == 1:
        num_list[idx] = int(num)
    else:
        num_list[idx] = sum(list(map(int, num_total)))

answer = num_list[0]

for i in range(1, len(num_list)):
    answer -= num_list[i]

print(answer)

 

 


 

제출 결과

'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 10026. 적록색약  (0) 2024.06.25
[BOJ] 1351. 무한 수열  (0) 2024.06.25
[BOJ] 7576. 토마토  (0) 2024.06.25
[BOJ] 16401. 과자 나눠주기  (0) 2024.06.25
[BOJ] 18870. 좌표 압축  (0) 2024.06.25