공부하는 히욤이

[BOJ] 10828. 스택 본문

Algorithm/BaekJoon

[BOJ] 10828. 스택

히욤이 2019. 8. 4. 03:52

BaekJoon 10828. 스택

* 문제의 저작권은 BOJ 및 문제를 만든 사람에게 있습니다.

 

 

 

 

 

 

[문제 접근]

 

java.util에서 제공하는 Stack을 사용해도 되지만 직접 Stack을 구현해 봄

 

 

 

 

 

 

 

 

 

[코드]

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main_10828 {
	public static void main(String[] args) throws Exception, IOException {
		//System.setIn(new FileInputStream("input.txt"));
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		ArrayList<Integer> list = new ArrayList<Integer>();

		for (int i = 0; i < N; i++) {
			StringTokenizer st = new StringTokenizer(br.readLine());
			String s = st.nextToken();
			switch (s) {
			case "push":
				list.add(Integer.parseInt(st.nextToken()));
				break;
			case "top":
				if (list.isEmpty()) {
					System.out.println("-1");
				} else {
					System.out.println(list.get(list.size()-1));
				}
				break;
			case "size":
				System.out.println(list.size());
				break;
			case "empty":
				if (list.isEmpty()) {
					System.out.println("1");
				}else {
					System.out.println("0");
				}
				break;
			case "pop":
				if (list.isEmpty()) {
					System.out.println("-1");
				} else {
					int num = list.get(list.size()-1);
					System.out.println(num);
					list.remove(list.size()-1);
				}
				break;
			}
		}

	}
}

'Algorithm > BaekJoon' 카테고리의 다른 글

[BOJ] 5212. 지구 온난화  (0) 2019.08.22
[BOJ] 4949. 균형잡힌 세상  (0) 2019.08.04
[BOJ] 10989. 수 정렬하기3  (0) 2019.08.03
[BOJ] 2751. 수 정렬하기2  (0) 2019.08.03
[BOJ] 2750. 수 정렬하기  (0) 2019.08.03