๋ฐ์ํ
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๋ถ์ ํค๋งธ๋ค..
์ฐ์ฐ์ ๋ฐฐ์ด์ด ๋น์๋์ง ๊ฒ์ฌํด์ค์ ์ฒ๋ฆฌํ๋ค.
๋ฐ์ํ
'๐ ์ฝํ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ฐฑ์ค2630 ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2023.04.11 |
---|---|
[Swift] ๋ฐฑ์ค2630 ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2023.04.04 |
[Swift] ๋ฐฑ์ค 1922 ์ฟผ๋ํธ๋ฆฌ (0) | 2023.04.04 |
[Swift] ๋ฐฑ์ค 1780 ์ข ์ด์ ๊ฐ์ (0) | 2023.04.04 |
[Swift] ๋ฐฑ์ค 1676 ํฉํ ๋ฆฌ์ผ 0์ ๊ฐ์ (0) | 2023.03.30 |