import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class Problem12789 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
Stack<Integer> stack = new Stack<>();
int targetOrder = 1;
while (st.hasMoreTokens()) {
if (!stack.isEmpty()) {
if (stack.peek() == targetOrder) {
stack.pop();
targetOrder++;
continue;
}
}
int inputOrder = Integer.parseInt(st.nextToken());
if (inputOrder == targetOrder) {
targetOrder++;
} else {
stack.push(inputOrder);
}
}
if (!stack.isEmpty()) {
int tryCount = stack.size();
while (tryCount-- > 0) {
if (stack.peek() == targetOrder) {
stack.pop();
targetOrder++;
} else {
System.out.println("Sad");
return;
}
}
}
System.out.println("Nice");
}
}
내가 풀었지만 맛이 없다. 뭔가 비효율적으로 푼 것 같은데, 당장은 모르겠으니 다음에 비슷한 문제로 다시 가져오도록 하겠다.
'Programming > BOJ Solutions' 카테고리의 다른 글
[Java] BOJ 18258: LinkedList vs ArrayDeque (2) | 2025.02.21 |
---|---|
[Java] BOJ 1550: Integer.parseInt() (1) | 2025.02.19 |
[Java] BOJ 13909: 창문 닫기와 힙 메모리 한도 (1) | 2025.02.17 |
[Java] BOJ 11723: 비트마스크 (BitMask) (1) | 2025.02.10 |
[Java] BOJ 1654: 이진 탐색, 이분 탐색 (Binary Search) (1) | 2025.02.07 |