https://school.programmers.co.kr/learn/courses/30/lessons/42584
풀이 - 나의 생각
https://fall-in-dream.tistory.com/72
이 문제와 똑같다!
코드
import java.util.*;
class Solution {
public int[] solution(int[] prices) {
int len = prices.length, index = 0;
int[] answer = new int[len];
Deque<Integer> stack = new ArrayDeque<>();
stack.offer(len-1);
answer[len-1] = 0;
for(int i = len - 2; i >= 0; i--){
while(!stack.isEmpty()){
index = stack.peekLast();
if(prices[i] > prices[index]){
answer[i] = index - i;
break;
}else{
stack.pollLast();
}
}
if(stack.isEmpty()){
answer[i] = len - i - 1;
}
stack.offer(i);
}
return answer;
}
}
728x90
'프로그래머스 > Lv.2' 카테고리의 다른 글
코딩테스트 연습 > 땅따먹기 - JAVA (1) | 2024.01.11 |
---|---|
2019 카카오 개발자 겨울 인턴십 > 튜플 - JAVA (1) | 2024.01.10 |
Summer/Winter Coding(~2018) > 방문 길이 - JAVA (0) | 2024.01.10 |
코딩테스트 연습 > 뒤에 있는 큰 수 찾기 - JAVA (0) | 2024.01.09 |
코딩테스트 연습 > 모음사전 - JAVA (0) | 2024.01.07 |