https://www.acmicpc.net/problem/10828
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
[난이도] Silver4
[유형] 스택
[풀이]
코틀린으로 문제를 풀때 입력은 BufferedReader(InputStreamReader(System.`in`)) 으로 받는 것이 좋다.
Scanner로 받으니까 시간초과가 났다
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.*
fun main(args: Array<String>) = with(BufferedReader(InputStreamReader(System.`in`))){
var n = readLine().toInt()
var s = Stack<Int>()
while(n-->0){
var rd = readLine().split(" ")
val ret = when(rd[0]){
"push" -> {
var v = rd[1].toInt()
s.push(v)
null
}
"pop" -> {
if(!s.empty()) s.pop()
else -1
}
"top" -> {
if(!s.empty()) s.peek()
else -1
}
"size" -> s.size
else -> {
if(s.empty()) 1
else 0
}
}
ret?.let{println(ret)}
}
}
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver4/10828.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Silver3] 1874 : 스택 수열 (Kotlin) (0) | 2021.05.08 |
---|---|
[BOJ/백준][Bronze1] 9093 : 단어 뒤집기 (Kotlin) (0) | 2021.05.08 |
[BOJ/백준][Gold3] 17619 : 개구리 점프 (C++) (0) | 2021.05.08 |
[BOJ/백준][Gold3] 1253 : 좋다 (C++) (0) | 2021.05.08 |
[BOJ/백준][Gold3] 2300 : 기지국 (C++) (0) | 2021.05.08 |