우보천리 개발

[백준1874] 스택 수열 Java 본문

알고리즘/Do it! 알고리즘 코딩테스트

[백준1874] 스택 수열 Java

밥은답 2023. 8. 17. 21:34
반응형

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

 

1874번: 스택 수열

1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다.

www.acmicpc.net

 

package Chapter1;

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

public class BJ1874 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] arr = new int[n];

        int num = 0;

        Stack<Integer> stack = new Stack<>();
        while (n > 0) {
            int value = sc.nextInt();

            if (value > num) {
                for (int i=num+1; i<=value; i++) {
                    stack.push(i);
                    System.out.println("+");
                }
                num = value;
            }

            else if (stack.peek() != value) {
                System.out.println("NO");
                return;
            }

            stack.pop();
            System.out.println("-");
        }
    }
}

 

반응형

'알고리즘 > Do it! 알고리즘 코딩테스트' 카테고리의 다른 글

[백준2164] 카드2 Java  (0) 2023.08.17
[백준11003] 최솟값 찾기 Java  (0) 2023.08.14
[백준12891] DNA 비밀번호 Java  (0) 2023.08.14
[백준1253] 좋다 Java  (0) 2023.08.13
[백준1940] 주몽 Java  (0) 2023.08.12
Comments