[Scala] BOJ 10828 - 스택

YumeIroVillain·2023년 7월 29일
0

Chisel 독학

목록 보기
10/44

https://www.acmicpc.net/problem/10828

사실, 개발할때는 디큐 하나면 다 되긴 하지만
제일 만만한 스택부터 풀었다.

import scala.io.StdIn
import scala.collection.mutable.Stack

object Main{
	def main(args:Array[String]):Unit = {
		var stk = Stack[Int]()
		var T:Int = StdIn.readInt()
		for(t <- 1 to T){
			var cmd = StdIn.readLine().split(" ")
			if(cmd(0) == "push"){
				stk.push(cmd(1).toInt)
			}
			else if(cmd(0) == "pop"){
				if(stk.isEmpty) println(-1)
				else println(stk.pop)
			}
			else if(cmd(0) == "size"){
				println(stk.size)
			}
			else if(cmd(0) == "empty"){
				println(if(stk.isEmpty) 1 else 0)
			}
			else if(cmd(0) == "top"){
				if(stk.isEmpty) println(-1)
				else println(stk.top)
			}
			else{
				println("ERROR")
			}
		}


	}

}
  • 시간초과가 발생했다.
  • 그러나, 이 부분에서 더 최적화될 여지는 없다고 생각한다.
  • Scala 자체적인 한계라고 판단하고, 그냥 넘어가기로 했다.
  • C++ 코드와 자체적으로 random TestCase에 대해 Regression을 돌리는 것도 괜찮으나, 시간관계상 생략하자. 어차피 현재로썬 이 코드가 너무 단순해서 오류날 구석도 없어보인다.
profile
HW SW 둘다 공부하는 혼종의 넋두리 블로그 / SKKU SSE 17 / SWM 11th

0개의 댓글