알고리즘/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("-");
}
}
}
반응형