Problem Solving/BOJ

[Silver 3] 1874번 스택 수열

kmkunk 2022. 3. 22. 15:32
import java.util.*;
import java.io.*;

public class Main {
    public static void main(String[] agrs) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        Stack<Integer> stack = new Stack<>();
        int n = Integer.parseInt(br.readLine());
        int num = 0;
        int count = 0;
        
        while(n-- > 0) {
            num = Integer.parseInt(br.readLine());

            if(num > count) {
                for(int i=count+1; i<=num; i++) {
                    stack.push(i);
                    sb.append("+\n");
                }
                
                count = num;
            }
            
            if(stack.peek()==num) {
                stack.pop();
                sb.append("-\n");
            } else {
                System.out.println("NO");
                return;
            }
        }
        
        br.close();
        System.out.println(sb);
    }
}