반갑습니다!

[프로그래머스] 주식가격 본문

알고리즘 문제 풀이

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

김덜덜이 2020. 4. 2. 18:19
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr

분류가 스택/큐로 되어있지만 단순 탐색으로 해결하였다.

풀이

prices의 길이가 100,000 이하이므로 N^2의 복잡도의 이중 for문으로 해결가능하다.

코드

C++
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> prices) {
    vector<int> answer;
    for(int i=0; i<prices.size(); i++){
        int cnt=0;
        for(int j=i+1; j<prices.size(); j++){
            cnt++;
            if(prices[i] > prices[j]) break;
        }
        answer.push_back(cnt);
    }
    return answer;
}


Java

import java.util.Arrays;

class Solution {
    public int[] solution(int[] prices) {
        int n = prices.length;
        int[] answer = new int[n];
        for (int i = 0; i < n; i++) {
            int cnt = 0;
            for (int j = i + 1; j < n; j++) {
                cnt++;
                if (prices[i] > prices[j]) break;
            }
            answer[i] = cnt;
        }
        return answer;
    }
}