코딩테스트/프로그래머스

[프로그래머스]주식가격 - Java

GAEBAL 2022. 6. 4. 20:18
728x90

문제

https://programmers.co.kr/learn/courses/30/lessons/42584

 

코딩테스트 연습 - 주식가격

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00

programmers.co.kr

 

 

풀이

왜 스택/큐 문제인지 모르겠음

현재의 가격 안에서 for문을 돌리면서 다음 가격과의 비교를 통해서 현재 인덱스의 가격을 하나씩 증가해주어서 해결했음!!

 

 

코드

// 코딩테스트 연습 - 스택/큐 - 주식가격
// https://programmers.co.kr/learn/courses/30/lessons/42584

package PROGRAMMERS.level1;

import java.util.Arrays;

public class Num42584_주식가격 {
    private static class Solution {
        private int[] solution(int[] prices) {
            int[] answer = new int[prices.length];

            // 이중 포문
            for (int i = 0; i < prices.length; i++) {
                for (int j = i + 1; j < prices.length; j++) {
                    answer[i]++;
                    if (prices[i] > prices[j]) {
                        break;
                    }
                }
            }
            
            return answer;
        }

        public static void main(String[] args) {
            Solution sol = new Solution();

            System.out.println(Arrays.toString(sol.solution(new int[]{1, 2, 3, 2, 3})));
            System.out.println(Arrays.toString(sol.solution(new int[]{3, 3, 3, 2, 1})));
        }
    }
}
728x90