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

πŸ’‘λ¬Έμ œ 뢄석 μš”μ•½

μ‹μ—μ„œ κ΄„ν˜Έλ₯Ό 적절히 μ³μ„œ μ‹μ˜ 값을 μ΅œμ†Œλ‘œ κ΅¬ν•˜λΌ.

55-50+40은 55-(50+40)으둜 λ§Œλ“€μ–΄ -45κ°€ λœλ‹€.

πŸ’‘μ•Œκ³ λ¦¬μ¦˜ 섀계

  1. 식을 μž…λ ₯λ°›λŠ”λ‹€ -> 55-50+40

  2. '-'λ₯Ό κΈ°μ€€μœΌλ‘œ 식을 λΆ„ν• ν•œλ‹€. -> 55-(50+40)

  3. λ‚˜λˆ„μ–΄μ§„ 식을 '+'을 κΈ°μ€€μœΌλ‘œ λ‚˜λˆ„κ³ , + 연산을 ν•œλ‹€. -> 55-(90)

처음 λ‚˜μ˜€λŠ” μˆ«μžλŠ” μŒμˆ˜κ°€ μ•„λ‹ˆλΌ μ–‘μˆ˜μ΄λ―€λ‘œ λ§μ…ˆμ„ ν•œλ‹€.

πŸ’‘μ½”λ“œ

import sys
input = sys.stdin.readline

expression=input().rstrip()

numbers=expression.split('-')
result=0

numbers2=numbers[0].split('+')
sum=0

for j in numbers2:
    sum+=int(j)
result+=sum

for i in range(1, len(numbers)):
    numbers2=numbers[i].split('+')
    sum=0
    for j in numbers2:
        sum+=int(j)
    result-=sum

print(result)

πŸ’‘μ‹œκ°„λ³΅μž‘λ„

+둜 λΆ„ν•  ν›„ ν•œκΈ€μžμ”© μ—°μ‚°: n

πŸ’‘ λŠλ‚€μ  or κΈ°μ–΅ν•  정보

μ–΄λ €μ›Œλ³΄μ˜€λŠ”λ° 생각보닀 μž˜ν’€λ Έλ‹€. 처음 μˆ«μžκ°€ μŒμˆ˜κ°€ λ‚˜μ˜€λŠ” κ²½μš°κ°€ μžˆμ„ 쀄 μ•Œκ³  음수인 κ²½μš°μ™€ μ–‘μˆ˜μΈ 경우λ₯Ό λ”°λ‘œ μ²΄ν¬ν–ˆλŠ”λ° 문제λ₯Ό λ‹€μ‹œ μ½μ–΄λ³΄λ‹ˆ 처음 μˆ«μžλŠ” 무쑰건 μ–‘μˆ˜λΌ 그런 μ½”λ“œκ°€ ν•„μš”κ°€ μ—†μ—ˆλ‹€. 문제 μ œλŒ€λ‘œ 읽기