๋ฐ์ํ
๊ณต์ค์ ํ๊ฐ ์๊ฐ๋๋ ๋ฌธ์ ๋ฒํธ๋ค,,, 10์ด์๋.. ์จ๋ ์๊ธ ์๋๊ฐ๊ฒ ํ ๋ผ๊ณ ๋ช์ด๋ง์ ๋นจ๋ฆฌ๋งํ๊ณ ์ ํ ๋๊ณ ๊ทธ๋ฌ์๋๋ฐ...
๐ ๋ฌธ์
https://www.acmicpc.net/problem/1541
๐ ๋์ ํ์ด
์ฐ์ , ์๊ฐ์ด๊ฐ 2์ด๋ผ์, ์ฌ์ ๋กญ๊ฒ ํ์๋ค. 2์ต๋ฒ์ ์ฐ์ฐ์ด ๋ฐ์ํด๋ ์ข๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ทธ๋ฅ? ์๊ฐํ์ง ์๊ณ ํ์๋ค.
๋ฌธ์ ๋ ์๊ฐ๋ณด๋ค ๊ฐ๋จํ๋ค. ๋ํ๊ธฐ์ ๋นผ๊ธฐ ๋ฐ์ ์๊ธฐ ๋๋ฌธ์, ๋ง์ด๋์คํด์ฃผ๋ ์๊ฐ ๊ฐ์ฅ ์ปค์ง๋ฉด, ๊ฐ์ ์ต์๋ก ์ถ๋ ฅํ ์ ์๋ค. ์ฆ, + ์ฐ์ฐ์ ๋ชจ๋ ์ํํด์ฃผ๊ณ (๋ํด์ ๊ฐ์ฅ ํฌ๊ฒ ๋ง๋ค์ด์ฃผ๊ณ ) - ์ฐ์ฐ์ ์ํํด์ฃผ๋ฉด ๋๋ค! ๊ทธ๋ผ๊ฒฐ๊ตญ ๋นผ๋ ์๊ฐ ์ ์ ์ปค์ง๊ฒ ๋์ ์ต์์ ์๊ฐ ์ถ๋ ฅ๋ ์ ์๋ค.
๐ ์ ๋ต์ฝ๋
๊ตฟ,,
import Foundation
private func solution(_ input: String) -> Int {
let input = input.split(separator: "-").map{ $0 }
var minusArr = [Int]()
for i in 0..<input.count {
if !input[i].contains("+") {
minusArr.append(Int(input[i])!)
continue
}
let temp = input[i].split(separator: "+").map{ Int($0)! }.reduce(0,+)
minusArr.append(temp)
}
if minusArr.count > 1 {
var total = minusArr[0]
for j in 1..<minusArr.count {
total -= minusArr[j]
}
return total
} else {
return minusArr[0]
}
}
let input = readLine()!
print(solution(input))
๋ฐ์ํ
'Algorithm > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] (Swift) 1157๋ฒ - ๋จ์ด ๊ณต๋ถ (๊ตฌํ, ๋ธ๋ก ์ฆ 1) (0) | 2023.02.13 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) ๋จ์์นด๋ฉ๋ผ (lv.3, ๊ทธ๋ฆฌ๋) (0) | 2023.02.08 |
[๋ฐฑ์ค] (Swift) 1783๋ฒ - ๋ณ๋ ๋์ดํธ (0) | 2023.02.03 |
[๋ฐฑ์ค] (Swift) 10610๋ฒ - 30 (0) | 2023.02.03 |
[๋ฐฑ์ค] (Swift) 1931๋ฒ - ํ์์ค ๋ฐฐ์ (๋๋ฒ์งธ ํ์ด) (feat. ๊ทธ๋ฆฌ๋) (0) | 2023.02.01 |