Notice
Recent Posts
Recent Comments
Link
S E P H ' S
[Java] 주식가격 본문
문제 풀이
정말 쉬운 문제지만 조건 확인에 덜렁이는 나같은 사람에게는 좋은 문제였다. prices의 모든 값을 큐에 넣은 후 큐의 값이 없을때까지 반복하면서 현재 값이 prices의 다음 값들과 비교해가면서 작아질때 까지 카운트를 1씩 늘려가면 되는 문제이다. 빼먹었던 조건은 현재 값보다 다음 값이 작아졌을 때 카운트를 1을 증가시키고 break를 해주어야 한다. 몇 초뒤에 가격이 떨어졌는지를 정답으로 요구하고 있기 때문에 작아진 다음에 1초를 더해야 했고 break를 하지 않으면 계속해서 다음 값을 비교하면서 카운트를 증가시킬 수 있기 때문이다.
public int[] solution(int[] prices) {
int[] answer = new int[prices.length];
Queue<Integer> q = new LinkedList<>();
for (int price : prices) {
q.add(price);
}
int idx = 0;
while(!q.isEmpty()) {
int curPrice = q.poll();
int num = 0;
for (int j = idx + 1; j < prices.length; j++) {
if (curPrice <= prices[j]) {
num++;
} else {
num++;
break;
}
}
answer[idx] = num;
idx++;
}
return answer;
}
'Algorithm > Programmers' 카테고리의 다른 글
[Java] 2개 이하로 다른 비트 (0) | 2023.05.15 |
---|---|
[Java] 조이스틱 (0) | 2023.04.28 |
[Java] 단체사진 찍기 (0) | 2023.04.14 |
[Java] 2 x n 타일링 (0) | 2023.04.13 |
[Python] n^2 배열 자르기 (0) | 2021.12.15 |