https://programmers.co.kr/learn/courses/30/lessons/42584
풀이
for문으로 해당 초 단위의 주식가격과 그 이후의 주식가격을 비교하면서 가격이 떨어지기 전까지의 시간을 센다.
for문이 끝나면 answer 시간(cnt)을 넣어주고 초기화 시켜준다.
큐에서 해당 초단위를 poll 시켜주고 해당 초 단위 위치(j)를 증가시킨다.
import java.util.*;
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
Queue q = new LinkedList();
for(int p : prices){
q.offer(p);
}
int j=0, cnt=0;
while(!q.isEmpty()){
for(int i=j+1;i<prices.length;i++){
cnt++;
if((int)q.peek()>prices[i]) {
break; // 가격떨어지면 break
}
}
answer[j]=cnt;
cnt=0;
q.poll();
j++;
}
return answer;
}
}
'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글
[Java] 프로그래머스 Lv.2 : H-Index (0) | 2022.03.13 |
---|---|
[Java] 프로그래머스 Lv.2 : 더 맵게 (0) | 2022.03.13 |
[Java] 프로그래머스 Lv2 : 프린터 (0) | 2022.03.11 |
[Java] 프로그래머스 Lv.2 : 위장 (0) | 2022.03.09 |
[Java] 프로그래머스 Lv.2 > 조이스틱 (0) | 2022.03.06 |