Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm/Baekjoon

[๋ฐฑ์ค€] (Swift) 1541๋ฒˆ - ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ (๊ทธ๋ฆฌ๋””)

๊ฐ์ž ๐Ÿฅ” 2023. 2. 6. 16:14
๋ฐ˜์‘ํ˜•

๊ณต์ค‘์ „ํ™”๊ฐ€ ์ƒ๊ฐ๋‚˜๋Š” ๋ฌธ์ œ๋ฒˆํ˜ธ๋‹ค,,, 10์ดˆ์˜€๋‚˜.. ์จŒ๋“  ์š”๊ธˆ ์•ˆ๋‚˜๊ฐ€๊ฒŒ ํ• ๋ผ๊ณ  ๋ช‡์ดˆ๋งŒ์— ๋นจ๋ฆฌ๋งํ•˜๊ณ  ์ „ํ™” ๋Š๊ณ  ๊ทธ๋žฌ์—ˆ๋Š”๋ฐ...

 

๐ŸŸ  ๋ฌธ์ œ

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

 

1541๋ฒˆ: ์žƒ์–ด๋ฒ„๋ฆฐ ๊ด„ํ˜ธ

์ฒซ์งธ ์ค„์— ์‹์ด ์ฃผ์–ด์ง„๋‹ค. ์‹์€ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ  ‘-’๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋Š” ์ˆซ์ž์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์†ํ•ด์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , 5์ž๋ฆฌ๋ณด๋‹ค

www.acmicpc.net

'

๐ŸŸ  ๋‚˜์˜ ํ’€์ด 

์šฐ์„ , ์‹œ๊ฐ„์ดˆ๊ฐ€ 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))
๋ฐ˜์‘ํ˜•