알고리즘(Kotlin)/자료구조
[백준, 자료구조, Kotlin] P.1874 스택 수열
요깨비
2021. 6. 1. 21:23
import java.util.*
fun main() {
val stack = Stack<Int>()
val scr = Scanner(System.`in`)
val n = scr.nextInt()
val list = mutableListOf<Int>()
val result = mutableListOf<Int>()
var index = 0
val sb = StringBuffer()
for(i in 1 .. n) {
list.add(scr.nextInt())
}
for(i in 1 .. n) {
stack.add(i)
sb.append("+\n")
while(!stack.isEmpty() && stack.peek() == list[index]) {
result.add(stack.pop())
sb.append("-\n")
index++
}
}
if(result == list) {
print(sb.toString())
}else {
println("NO")
}
}
문제 제목 그대로 스택을 활용해서 풀면 간단하게 풀 수 있습니다.