-
Java 10828 스택PS 2023. 4. 29. 03:38
풀이 :
스택을 구현할 클래스를 만들어 int형 배열을 생성한 뒤 기능들을 구현하였습니다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class Stack { private int n = 0; private int[] stack; public Stack(int size){ stack = new int[size+1]; } public void push (int x){ stack[n+1] = x; n++; } public int pop(){ if(n == 0){ return -1; }else { int a = stack[n]; n--; return a; } } public int size(){ return n; } public int empty(){ return n == 0? 1 : 0; } public int top(){ return n == 0? -1 : stack[n]; } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); StringTokenizer st; Stack stack = new Stack(n); for(int i = 0; i < n; i++){ st = new StringTokenizer(br.readLine()," "); String str = st.nextToken(); switch (str){ case "push": int num = Integer.parseInt(st.nextToken()); stack.push(num); break; case "pop": int pop = stack.pop(); System.out.println(pop); break; case "size": int size = stack.size(); System.out.println(size); break; case "empty": int empty = stack.empty(); System.out.println(empty); break; case "top": int top = stack.top(); System.out.println(top); break; default: break; } } } }
'PS' 카테고리의 다른 글
Java 10845 큐 (0) 2023.05.02 Java 1406 에디터 (0) 2023.05.02 Java 1874 스택 수열 (0) 2023.05.01 Java 9093 단어 뒤집기 (0) 2023.05.01 Java 10810번 문제. 공넣기 (0) 2023.04.20