import Foundation

/// ์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง ( 0~9, +, -๋กœ๋งŒ ์ด๋ฃจ์–ด์ง)
/// ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰๋ฌธ์ž๋Š” ์ˆซ์ž
/// ์—ฐ์†ํ•ด์„œ 2๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Œ
/// 5์ž๋ฆฌ๋ณด๋‹ค ๋งŽ์ด ์—ฐ์†๋˜๋Š” ์ˆซ์ž๋Š” ์—†์Œ
/// ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Œ
/// ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๊ธธ์ด : 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์Œ

let line = readLine()!
let nums = line.components(separatedBy: ["+","-"]).map { Int($0)! }
var opers = [Character]()
var sum = 0

// ์—ฐ์‚ฐ์ž ๋ฐฐ์—ด ๋งŒ๋“ค๊ธฐ
for c in line {
    if c == "+" || c == "-" {
        opers.append(c)
    }
}



// ๊ด„ํ˜ธ์ ์šฉ : - ๋‹ค์Œ + ์—ฐ์‚ฐ์ด์˜ค๋ฉด +์—ฐ์‚ฐ์„ -๋กœ ๋ฐ”๊ฟ”์คŒ
if !opers.isEmpty {
    for i in 0..<opers.count - 1 {
        if opers[i] == "-" && opers[i+1] == "+" {
            opers[i+1] = "-"
        }
    }
    
    // ์—ฐ์‚ฐ์ˆ˜ํ–‰
    for i in 0..<nums.count - 1 {
        if i == 0 {
            sum = nums[i]
        }
        
        if opers[i] == "+" {
            sum += nums[i+1]
        } else {
            sum -= nums[i+1]
        }
    }
    print(sum)
} else {
    print(line)
}

์—ฐ์‚ฐ์ž๊ฐ€ ํ•˜๋‚˜๋„ ์•ˆ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๋ฅผ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•ด์„œ 30๋ถ„์„ ํ—ค๋งธ๋‹ค..

์—ฐ์‚ฐ์ž ๋ฐฐ์—ด์ด ๋น„์—ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•ด์ค˜์„œ ์ฒ˜๋ฆฌํ–ˆ๋‹ค.

๋ฐ˜์‘ํ˜•
JerryiOS