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
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
Stack<Integer> stack = new Stack<Integer>();
int N = Integer.parseInt(br.readLine());
int j = 1;
A: for (int i = 0; i < N; i++) {
int n = Integer.parseInt(br.readLine());
while (true) {
if (n >= j) {
stack.push(j++);
sb.append("+").append("\n");
}
if (!stack.isEmpty()) {
if (stack.peek() == n) {
stack.pop();
sb.append("-").append("\n");
break;
} else if (stack.peek() > n) {
System.out.println("NO");
sb.delete(0, sb.length());
break A;
}
}
}
}
System.out.println(sb);
}
}
'Baekjoon Online Judge > Java' 카테고리의 다른 글
[Baekjoon Online Judge] 1992 - 쿼드트리 / Java (0) | 2021.08.18 |
---|---|
[Baekjoon Online Judge] 1697 - 숨바꼭질 / Java (0) | 2021.08.17 |
[Baekjoon Online Judge] 2961 - 도영이가 만든 맛있는 음식 / Java (0) | 2021.08.12 |
[Baekjoon Online Judge] 1244 - 스위치 켜고 끄기 / Java (0) | 2021.08.02 |
[Baekjoon Online Judge] 1100 - 하얀 칸 / Java (0) | 2021.07.16 |