Cooper's devlog

스택 : 10828번 - JAVA 본문

Algorithm/Baekjoon

스택 : 10828번 - JAVA

cooper_dev 2020. 7. 6. 00:49

1. 문제링크

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

 

10828번: 스택

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �

www.acmicpc.net


2. 문제 설명

 


3. 문제 접근법

- stack의 기본 메소드 사용여부를 확인하는 문제이다.

 

Stack: FILO(First In Last Out) 형태를 띄고 있는 자료구조이다.

1. push : 입력값을 stack에 추가.

2. pop() : 가장 최근에 들어간 값을 출력.

3. size() : stack의 사이즈를 확인해볼 때 사용하는 메소드.

4.isEmpty() : stack이 비었는지 확인하는 메소드

5. peek() : 가장 위에 값을 확인하는 메소드(확인만 하고 출력하진 않는다.)


4. 문제 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.util.Scanner;
import java.util.Stack;
 
public class stack {
    public static void main(String[] args) {
        Stack<Integer> s = new Stack<>();
        Scanner sc = new Scanner(System.in);
        
        int test = Integer.parseInt(sc.nextLine());
        
        for(int i = 0; i < test; i++){
            String line = sc.nextLine();
            String[] menu = line.split(" ");    //[0] : 메뉴 | [1] : push value
            switch(menu[0]){
                case "push"
                    s.push(Integer.parseInt(menu[1]));
                    break;
                case "pop"
                    System.out.println(s.isEmpty() ? -1 : s.pop());
                    break;
                case "size"
                    System.out.println(s.size());
                    break;
                case "empty"
                    System.out.println(s.isEmpty() ? 1 : 0);
                    break;
                case "top"
                    System.out.println(s.isEmpty() ? -1 : s.peek());
                    break;
                            
            }
        }
    }
}
 
 

 

 

 

 

 

<정답확인>


5. 개선점 또는 트러블 슈팅

- stack의 기본 메소드를 물어보는 과정이라 따로 개선점이 보이지는 않는다.

 

 

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

조세퍼스 문제 : 1158번 - JAVA  (0) 2020.07.08
에디터:1406번 - JAVA  (0) 2020.07.08
스택수열 : 1874번 - JAVA  (0) 2020.07.07
괄호 : 9012번 - JAVA  (0) 2020.07.07
단어 뒤집기 : 9093번 - JAVA  (0) 2020.07.06
Comments