-
[Programmers] 주식가격Algorithm/Programmers 2020. 5. 29. 12:35
[Level 2] 주식가격
- 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
Solution
- cur은 현재 시점의 가격이고, 현재 시점을 기준으로 이전의 주식가격(prices[i])을 cur과 비교하면서 가격이 떨어지지 않은 기간을 증가하는 방식
- 정확성 테스트는 통과했지만 효율성 테스트는 통과하지 못했다.
소스코드
123456789101112131415161718192021222324class Solution {static int[] answer;static boolean[] flag;public int[] solution(int[] prices) {init(prices.length);for(int p = 1, time = 1; p<prices.length;p++, time++){int cur = prices[p];for(int i = 0; i<time; i++){if(flag[i]) continue;answer[i]++;if(prices[i] > cur){flag[i] = true;}}}return answer;}public static void init(int len){answer = new int[len];flag = new boolean[len];}}cs +) 효율성 테스트 통과한
소스코드
12345678910111213141516class Solution {public int[] solution(int[] prices) {int[] answer = new int[prices.length];for (int i = 0; i < answer.length; i++) {for (int j = i+1; j < answer.length; j++) {if (prices[i] > prices[j]) {answer[i] = j-i;break;}if (j==answer.length-1) answer[i] = j-i;}}return answer;}}cs 자료출처
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 다리를 건너는 트럭 (0) 2020.05.30 [Programmers] 스킬트리 (0) 2020.05.30 [Programmers] 프린터 (0) 2020.05.29 [Programmers] 베스트앨범 (0) 2020.04.24 [Programmers] 종이접기 (0) 2020.04.23