๋ฌธ์ ์ค๋ช
๋์ฝ๋ ๊ธฐ์ฅ ์ฌ๋ฏผ์ด๋ ๋์๋ฆฌ ํ์์ ์ค๋นํ๊ธฐ ์ํด์ ์ฅ๋ถ๋ฅผ ๊ด๋ฆฌํ๋ ์ค์ด๋ค.
์ฌํ์ด๋ ์ฌ๋ฏผ์ด๋ฅผ ๋์์ ๋์ ๊ด๋ฆฌํ๋ ์ค์ธ๋ฐ, ์ ์ํ๊ฒ๋ ํญ์ ์ ์ ์๋ ์ฌํ์ด๋ ๋์ ์ค์๋ก ์๋ชป ๋ถ๋ฅด๋ ์ฌ๊ณ ๋ฅผ ์น๊ธฐ ์ผ์ค์๋ค.
์ฌํ์ด๋ ์๋ชป๋ ์๋ฅผ ๋ถ๋ฅผ ๋๋ง๋ค 0์ ์ธ์ณ์, ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ๋ฏผ์ด๊ฐ ์ด ์๋ฅผ ์ง์ฐ๊ฒ ์ํจ๋ค.
์ฌ๋ฏผ์ด๋ ์ด๋ ๊ฒ ๋ชจ๋ ์๋ฅผ ๋ฐ์ ์ ์ ํ ๊ทธ ์์ ํฉ์ ์๊ณ ์ถ์ด ํ๋ค. ์ฌ๋ฏผ์ด๋ฅผ ๋์์ฃผ์!
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์ ์ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ K ≤ 100,000)
์ดํ K๊ฐ์ ์ค์ ์ ์๊ฐ 1๊ฐ์ฉ ์ฃผ์ด์ง๋ค. ์ ์๋ 0์์ 1,000,000 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, ์ ์๊ฐ "0" ์ผ ๊ฒฝ์ฐ์๋ ๊ฐ์ฅ ์ต๊ทผ์ ์ด ์๋ฅผ ์ง์ฐ๊ณ , ์๋ ๊ฒฝ์ฐ ํด๋น ์๋ฅผ ์ด๋ค.
์ ์๊ฐ "0"์ผ ๊ฒฝ์ฐ์ ์ง์ธ ์ ์๋ ์๊ฐ ์์์ ๋ณด์ฅํ ์ ์๋ค.
์ถ๋ ฅ
์ฌ๋ฏผ์ด๊ฐ ์ต์ข ์ ์ผ๋ก ์ ์ด ๋ธ ์์ ํฉ์ ์ถ๋ ฅํ๋ค. ์ต์ข ์ ์ผ๋ก ์ ์ด๋ธ ์์ ํฉ์ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
๋ด ๋ฌธ์ ํ์ด
์ ๋ ฅ
4
3
0
4
0
์ถ๋ ฅ
0
๋ด ๋ฌธ์ ํ์ด
import Foundation
let count = Int(readLine()!)!
var stack = [Int]()
var result = 0
for _ in 0..<count {
let input = Int(readLine()!)!
if input != 0 { stack.append(input) }
else { stack.removeLast() }
}
for i in stack {
result += i
}
print(result)
- ์คํ ๋ฐฐ์ด์ ๋ง๋ค์ด์ฃผ์๊ณ , ๊ฐ๋ค์ ๋์ ์ ๊ณ์ฐํ๊ธฐ ์ํ result ๋ณ์๋ฅผ ์์ฑํ๋ค.
- removeLast๋ฅผ ์ด์ฉํ์ฌ 0์ด ์ ๋ ฅ๋ ๊ฒฝ์ฐ ๋ง์ง๋ง ์๋ฅผ ์ญ์ ํ๋๋ก ํ๋ค.
๐ก ํผ๋๋ฐฑ
- removeLast๋ฅผ ์ด์ฉํ๋ฉด ์์ฃผ ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์๋ค.
๋ฌธ์
'3๏ธโฃ Swift > Problem Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift Algorithm] ํ BOJ #2493 (0) | 2021.08.04 |
---|---|
[Swift Algorithm] ์คํ ์์ด BOJ #1874 (2) | 2021.08.04 |
[Swift Algorithm] ์คํ BOJ #10828 (0) | 2021.08.04 |
[Swift Algorithm] ์์ธํธ์ค ๋ฌธ์ BOJ #1158 (0) | 2021.07.30 |
[Swift Algorithm] ํค๋ก๊ฑฐ BOJ #5397 (0) | 2021.07.30 |
๋๊ธ