package com.example.algorithm
import java.io.BufferedReader
import java.io.InputStreamReader
import java.math.BigDecimal
import java.math.RoundingMode
import java.util.*
import java.util.Collections.max
import java.util.Collections.min
fun main(){
val count = readLine()!!.toInt() //명령어 수
val br = BufferedReader(InputStreamReader(System.`in`))
val stack :Stack<Int> = Stack()
repeat(count){
val command = br.readLine().split(' ')
when(command[0]){
"push" -> {
stack.push(command[1].toInt())
}
"pop" -> {
if(stack.empty()){
println(-1)
}else{
println(stack.pop())
}
}
"size" -> {
println(stack.size)
}
"empty" -> {
if(stack.empty()){
println(1)
}else{
println(0)
}
}
"top" -> {
if(stack.empty()){
println(-1)
}else{
println(stack.peek())
}
}
}
}
}
스택을 그대로 사용하는 문제라 입력을 받아서 스택의 함수를 이용했다.
허나 입출력을 많이 받아서 기존 코틀린의 readline()으로는 시간초과가 났다.
그래서 자바에 있는 bufferedReader를 사용해서 더 빨리 입력 받으니 해결할 수 있었다.
자바 코드를 사용할 수 있는 점이 코틀린의 장점이라고 생각할 수 있는 경험이였던 것 같다.
나이순 정렬(백준) (0) | 2023.07.10 |
---|---|
마인크래프트(백준) (0) | 2023.07.08 |
통계학(백준) (0) | 2023.07.06 |
균형잡힌 세상(백준) (0) | 2023.07.05 |
프린터 큐(백준) (0) | 2023.07.04 |
댓글 영역