99클럽 코테 스터디 12일차 TIL
💙 JAVA 비기너
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.EmptyStackException;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
Stack<String> stack = new Stack<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
for (int i=0; i<N; i++) {
String[] command = br.readLine().split(" ");
switch(command[0]) {
case "push" :
stack.push(command[1]);
break;
case "pop" :
bw.write(stack.empty() ? "-1" : stack.pop());
bw.write("\n");
break;
case "size" :
bw.write(String.valueOf(stack.size()));
bw.write("\n");
break;
case "empty" :
bw.write(stack.empty() ? "1" : "0");
bw.write("\n");
break;
case "top" :
bw.write(stack.empty() ? "-1" : stack.peek());
bw.write("\n");
break;
}
}
br.close();
bw.flush();
bw.close();
}
}
대학교 때 자료구조 수업 이후로 사용 안한 듯한 스택을 사용했다.
옛날 기억이 새록새록...!!!
명령어에 따라 다른 기능들을 실행시키면 되는데 Stack에서 기본적으로 지원하는 함수들로 충분히 해결할 수 있는 명령어들이었다.
Stack 기본 함수
- Stack.push(item) : 아이템을 스택에 추가하고, 해당 값을 반환
- Stack.pop() : 스택의 마지막 요소를 반환하고 해당 요소를 스택에서 제거
- Stack.peek() : 스택의 마지막 요소를 반환
- Stack.size() : 스택의 크기를 반환
- Stack.empty() : 스택이 비어있으면 true를, 요소가 있다면 false를 반환