문제
풀이
Stack을 이용해 풀면 된다. 0을 입력받았을 때 pop()을 호출하고 아닐 때는 push()를 호출해준다. 입력이 끝나면 stack이 비워질 때 까지 pop()을 호출하며 sum 변수에 더해준다.
코드
import java.util.*
fun main() {
val br = System.`in`.bufferedReader()
val bw = System.out.bufferedWriter()
val case = br.readLine().toInt()
val stack = Stack<Int>()
repeat(case) {
val num = br.readLine().toInt()
if(num == 0) {
stack.pop()
} else {
stack.add(num)
}
}
var sum = 0
while (stack.isNotEmpty()) {
sum += stack.pop()
}
bw.write("$sum")
bw.flush()
bw.close()
br.close()
}
'알고리즘 > Baekjoon' 카테고리의 다른 글
[백준] 10814번: 나이순 정렬 - Kotlin[코틀린] (0) | 2023.08.10 |
---|---|
[백준] 1149번: RGB거리 - Kotlin[코틀린] (0) | 2023.08.07 |
[백준] 2438 ~ 2446번: 별 찍기 - 1 ~ 9 - Kotlin[코틀린] (0) | 2023.08.05 |
[백준] 1012번: 유기농 배추 - Kotlin[코틀린] (0) | 2023.08.04 |
[백준] 11399번: ATM - Kotlin[코틀린] (0) | 2023.08.01 |