https://school.programmers.co.kr/learn/courses/30/lessons/154539#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int[] solution(int[] numbers) {
int size = numbers.length;
int[] answer = new int[size];
Arrays.fill(answer,-1);
Stack<Integer> stack = new Stack<Integer>();
for(int i = size - 1 ; i >= 0 ; i--){
if(stack.isEmpty()){
stack.push(numbers[i]);
continue;
}
if(numbers[i] < stack.peek()){
answer[i] = stack.peek();
stack.push(numbers[i]);
}else{
while(!stack.isEmpty() && numbers[i] >= stack.peek()){
stack.pop();
}
if(!stack.isEmpty()){
answer[i] = stack.peek();
stack.push(numbers[i]);
}
}
stack.push(numbers[i]);
}
return answer;
}
}
'알고리즘' 카테고리의 다른 글
백준 17244번 아맞다우산(JAVA) (0) | 2023.02.17 |
---|---|
백준 16493번 최대 페이지 수 (JAVA) (0) | 2023.02.16 |
프로그래머스 명예의 전당 (JAVA) (0) | 2023.02.14 |
프로그래머스 할인 행사 (JAVA) (0) | 2023.02.13 |
프로그래머스 기사단원의 무기 (JAVA) (0) | 2023.02.12 |