[프로그래머스] 코딩테스트 연습 - 스택/큐 Level 2 주식가격
Solution.java
class Solution {
public int[] solution(int[] prices) {
int[] answer = {};
answer = new int[prices.length];
answer[answer.length - 1] = 0;
for (int i = prices.length - 2; i >= 0; i--) {
int j = 1;
while (i + j < prices.length - 1) {
if (prices[i] <= prices[i + j]) {
j += answer[i + j];
}
else {
break;
}
}
answer[i] = j;
}
return answer;
}
}
class Solution {
public int[] solution(int[] prices) {
int[] answer = {};
answer = new int[prices.length];
answer[answer.length - 1] = 0;
for (int i = prices.length - 2; i >= 0; i--) {
int j = 1;
while (i + j < prices.length - 1) {
if (prices[i] <= prices[i + j]) {
j += answer[i + j];
}
else {
break;
}
}
answer[i] = j;
}
return answer;
}
}
어떻게 풀면 효율성을 통과할지 감도 안 잡힌다..
다음에 다시 도전해봐야겠다.
문득 아이디어가 떠올라 풀었더니 바로 통과되었다.
스택/큐로는 풀지 않았고 DP를 이용하여 풀었다.
역시 DP는 아이디어가 떠오르냐 안오르냐 싸움인듯..
질문하기랑 다른 사람의 풀이를 보니 그냥 이중 for문으로도 풀리는듯..
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
Author And Source
이 문제에 관하여([프로그래머스] 코딩테스트 연습 - 스택/큐 Level 2 주식가격), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hye07on11/프로그래머스-코딩테스트-연습-스택큐-Level-2-주식가격저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)