백준_17298 오큰수 구하기 (스택)Algorithm/Algorithm 문제2024. 1. 9. 12:49
Table of Contents
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;
public class BJ_17298 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
int[] inputArr = new int[n];
int[] resultArr = new int[n];
Stack<Integer> stack = new Stack<>();
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
for(int i=0; i<n; i++) {
inputArr[i] = Integer.parseInt(st.nextToken());
}
stack.push(0);
for(int i=0; i<n-1; i++) {
while(!stack.isEmpty() && inputArr[stack.peek()] < inputArr[i+1]) {
resultArr[stack.pop()] = inputArr[i+1];
}
stack.push(i+1);
}
while(!stack.isEmpty()) {
resultArr[stack.pop()] = -1;
}
for(int i=0; i<n; i++) {
sb.append(resultArr[i]).append(' ');
}
System.out.println(sb);
}
}
'Algorithm > Algorithm 문제' 카테고리의 다른 글
백준_11286 절댓값 힙 (우선순위 큐&힙) (0) | 2024.01.10 |
---|---|
백준_2164 카드2 (큐) (0) | 2024.01.10 |
백준_1874 스택 수열 (스택) (0) | 2024.01.08 |
백준_11003 최솟값 찾기 (슬라이딩 윈도우) (0) | 2023.11.29 |
백준_12891 DNA 비밀번호 (슬라이딩 윈도우) (0) | 2023.11.24 |
@kjyyjk :: 녕의 학습 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!