ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [백준][Kotlin]1874번 스택 수열
    백준 2023. 2. 26. 01:04
    728x90

    해당 문제는 스택의 자료구조를 알고 있으면 매우 간단한 문제입니다.

    문제를 간단히 설명하자면 스택 내부에 들어간 자료들은 오름차순을 유지해야 하며, 불가능 할 시 No을 출력

    push 를 실행할때는 +, pop일때는 - 를 출력하는 문제입니다.

     

    하기는 작성한 코드와 채점 현황 입니다.

    import java.io.BufferedReader
    import java.io.BufferedWriter
    import java.io.InputStreamReader
    import java.io.OutputStreamWriter
    import java.util.*
    
    fun main() {
    //    val s = System.currentTimeMillis()
        var br = BufferedReader(InputStreamReader(System.`in`))
        //var bw = BufferedWriter(OutputStreamWriter(System.out))
        var st = StringTokenizer(br.readLine())
        val N = st.nextToken().toInt() // 수열의 개수
        var sb = StringBuilder()
    
        var stack = Stack<Int>()
        var value = 1
        for(i in 1 .. N){
            st = StringTokenizer(br.readLine())
            var target = st.nextToken().toInt()
            while(stack.isEmpty() || stack.last() < target){
                stack.add(value)
                value++
                sb.append("+\n")
            }
    
            if(stack.last() == target){
                stack.pop()
                sb.append("-\n")
            }
    
            if(!stack.isEmpty() && stack.last() > target){
                print("NO")
                return
            }
        }
        print(sb)
    
    //   val e = System.currentTimeMillis()
    //   println((e-s)/1000.0)
    
    }

    '백준' 카테고리의 다른 글

    [백준][Kotlin]2164번 카드2  (0) 2023.02.26
    [백준][Kotlin] 2018번 수들의 합5  (0) 2023.02.26
    [백준][Kotlin]1940번 주몽  (0) 2023.02.26
    [백준][Kotlin]1546번 평균  (0) 2023.02.26
    [백준][Kotlin]1253번 좋다  (0) 2023.02.26
Designed by Tistory.