백준

백준 1874 - java

으엉어엉 2024. 8. 13. 19:54
728x90

문제

풀이

 

import java.util.Scanner;
import java.util.Stack;

public class StackSeq {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        Stack<Integer> stack = new Stack<>();

        int n = sc.nextInt();
        int[] sequence = new int[n];

        for (int i = 0; i < n; i++) {
            sequence[i] = sc.nextInt();
        }

        int current = 1;
        boolean possible = true;

        for (int i = 0; i < n; i++) {
            int num = sequence[i];

            while (current <= num) {
                stack.push(current++);
                sb.append("+\n");
            }

            if (stack.peek() == num) {
                stack.pop();
                sb.append("-\n");
            } else {
                possible = false;
                break;
            }
        }

        if (possible) {
            System.out.print(sb);
        } else {
            System.out.println("NO");
        }

        sc.close();
    }
}

 

 

peek란 다음 꺼낼 요소 확인(꺼내지 않고 단순 조회만) 하는 것이다. 

 

 

728x90

'백준' 카테고리의 다른 글

백준 10866 - Java  (0) 2024.08.24
백준 1158 - Java  (0) 2024.08.24
백준 10845 - java  (0) 2024.08.15
백준 1406 - java  (0) 2024.08.13
백준 9012 - java  (0) 2024.08.13