https://programmers.co.kr/learn/courses/30/lessons/42584
첫 번째 풀이
큐를 이용하여 구현하였음
각 주식 가격이 언제까지 떨어지지 않는지 시간을 재는 방식을 이용함
코드
import java.util.*;
// 주식가격
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
Queue<Integer> q = new LinkedList<>();
// 주식 가격 queue에 넣기
for(int i=0; i<prices.length; i++){
q.offer(prices[i]);
}
//peek()에서 prices들과 가격 비교 time ++
int idx = 0;
int time = 0;
while(!q.isEmpty()){
time = 0;
for(int i=idx+1; i<prices.length; i++){
if(q.peek() <= prices[i]){
time++;
}
else{
time++;
break;
}
}
q.poll();
answer[idx] = time;
idx ++;
}
return answer;
}
}
두 번째 풀이
큐를 이용하지 않고 구현해봄
코드
import java.util.*;
// 주식가격
class Solution {
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
int time;
for(int i=0; i<prices.length; i++){
time=0;
for(int j=i+1; j<prices.length; j++){
if(prices[i] <= prices[j]){
time++;
}
else{
time++;
break;
}
}
answer[i] = time;
}
return answer;
}
}
'Old > Algorithms' 카테고리의 다른 글
[JAVA] 프로그래머스 : 기능개발 (코딩테스트 고득점 kit > 스택/큐) (0) | 2020.07.14 |
---|---|
[JAVA] 프로그래머스 : 쇠막대기 (코딩테스트 고득점 kit > 스택/큐) (0) | 2020.07.14 |
[JAVA] 프로그래머스 : 프린터 (코딩테스트 고득점 kit > 스택/큐) (0) | 2020.07.14 |
[JAVA] 프로그래머스 : 다리를 지나는 트럭 (코딩테스트 고득점 kit > 스택/큐) (0) | 2020.07.13 |
[JAVA] 프로그래머스: 위장 (코딩테스트 고득점 kit > 해쉬) (0) | 2020.07.13 |