상세 컨텐츠

본문 제목

Baekjoon(Kotlin) - 18258. 큐2

Problems(Kotlin)/Baekjoon

by KDLiam 2023. 9. 1. 19:05

본문

URL : https://www.acmicpc.net/problem/18258

 

18258번: 큐 2

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

 

[ RESULT ]

 

import java.util.*

fun main() {
    val br = System.`in`.bufferedReader()
    val bw = System.`out`.bufferedWriter()

    val queue = LinkedList<Int>()
    val input_num = br.readLine().toInt()

    repeat(input_num) {
        val command: Array<String> = br.readLine().split(" ").toTypedArray()
        when(command[0]) {
            "push" -> queue.addLast(command[1].toInt())
            "pop" -> {
                if(queue.isEmpty()) bw.write("-1\n")
                else {
                    bw.write("${queue.first}\n")
                    queue.removeFirst()
                }
            }
            "size" -> bw.write("${queue.size}\n")
            "empty" -> {
                if(queue.isEmpty()) bw.write("1\n")
                else bw.write("0\n")
            }
            "front" -> if(queue.isEmpty()) bw.write("-1\n") else bw.write("${queue.first()}\n")
            "back" -> if(queue.isEmpty()) bw.write("-1\n") else bw.write("${queue.last()}\n")
            else -> return
        }
    }

    br.close()
    bw.close()
}

관련글 더보기