글 작성자: Doublsb

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

 

풀이

- 주식 가격이 담긴 배열이 주어짐

- 가격이 떨어지지 않은 기간은 몇 초?

- 각 배열 원소 모두에 가격이 떨어지지 않은 기간을 돌려야 한다

 

- 이게 왜 스택/큐인지 딱히 모르겠음

- 이중 포문 돌려서 미래의 시간이랑 비교하여 떨어지지 않았다면 결과값에 더하면 되는 것 아닌가...?

- 마지막까지 가격이 떨어지지 않은 경우, 전체 시간 길이를 고려하면 될듯

 

C#

using System;

public class Solution {
    public int[] solution(int[] prices) {
        
        int[] answer = new int[prices.Length];
        
        for(int i=0; i<prices.Length - 1; i++)
        {
            for(int j=i; j<prices.Length; j++)
            {
                if(prices[i] <= prices[j]) answer[i]++;
                else break;
                
                if(j == prices.Length - 1) answer[i] = prices.Length - 1 - i;
            }
        }

        return answer;
    }
}

 

결과

정확성 66.7 / 효율성 33.3 / 통과

피드백

음.. 왜 스택/큐로 분류해서 문제를 냈는지.... 알아봐야 할 필요가 있겠다

반응형