본문 바로가기
Algorithm and PS/백준(Kotlin)

백준 - 10773 제로 (코틀린)

by ESHC 2021. 5. 24.

[문제]

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

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

[코드]

import java.io.*
import java.util.*

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))
    val bw = BufferedWriter(OutputStreamWriter(System.out))
    val n = br.readLine().toInt()
    val stack = Stack<Int>()
    for(i in 0 until n) {
        val cmd = br.readLine().toInt()
        if(cmd==0) stack.pop()
        else stack.push(cmd)
    }
    var sum = 0
    while(!stack.empty())
        sum += stack.pop()
    bw.write("$sum")
    bw.flush()
    bw.close()
}

[풀이]

기본적인 스택문제.

입력값이 0일 때는 pop()을 하고

나머지는 push()를 하여

합을 구한다.

 

Github : https://github.com/eshc123/2021AlgorithmStudy/blob/main/src/main/PS/baekjoon/10773.kt

댓글