
백준 17298번 오큰수 - Java (골드 4)백준/스택 & 큐2025. 7. 31. 12:39
Table of Contents
https://www.acmicpc.net/problem/17298
✅ 문제
🔑 풀이
import java.io.*;
import java.util.*;
// 스택
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int[] num = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
num[i] = Integer.parseInt(st.nextToken());
}
ArrayDeque<Integer> stack = new ArrayDeque<>();
int[] answer = new int[N];
for (int i = N - 1; i >= 0; i--) {
while (!stack.isEmpty() && stack.peekLast() <= num[i]) { // 오큰수가 아닌 경우
stack.pollLast(); // 스택에서 제거
}
answer[i] = stack.isEmpty() ? -1 : stack.peekLast();
stack.addLast(num[i]);
}
for (int i : answer) bw.write(i + " ");
bw.flush();
}
}
'백준 > 스택 & 큐' 카테고리의 다른 글
백준 13335번 트럭 - Java (실버 1) (4) | 2025.07.30 |
---|---|
99클럽 코테 스터디 7일차 TIL - [스택] 백준 10799번 : 쇠막대기 (0) | 2025.04.09 |
[큐] 백준 10845번 큐 - Java (0) | 2025.04.08 |
[스택] 백준 3986번 좋은단어- Java (0) | 2025.04.08 |
@킴준현 :: 차근차근 꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!