Algorithm/BaekJoon

백준 22.03.09. 1541번 - 잃어버린 괄호

HappyFrog 2022. 3. 9. 10:56

m = input().split("-")

num = []
for i in m:
    sum = 0
    n = i.split("+")
    for j in n:
        sum += int(j)
    num.append(sum)

result = num[0]
for k in range(1, len(num)):
    result -= num[k]

print(result)
  • 우선 주어진 문제를 보면 기호는 "+"와 "-"만 사용됩니다.
    • 수식의 처음과 끝은 숫자이므로 시작하는 수는 무조건 양수입니다.
    • 하지만 그 이후의 수들은 괄호를 통해 모두 음수로 만들 수 있습니다.
      • ex) 1 - 2 + 3 - 4 + 5 
      • => 1 - (2 + 3) - (4 + 5)
  • 따라서 "-"기호를 기준으로 받은 문자열을 나눠줍니다.
  • 반복문을 통해 num리스트에 m의 요소들의 합을 저장합니다.
  • num리스트의 첫 값은 시작하는 수이기 때문에 할당해줍니다.
  • 이후 반복문을 통해 (첫번째 수 - num[i])를 반복해주면 만들 수 있는 최솟값이 구해집니다.