N

(프로그래머스 c++)주식가격 본문

프로그래머스 알고리즘/2단계

(프로그래머스 c++)주식가격

naeunchan 2020. 5. 4. 10:37
728x90
반응형

해당 인덱스의 가격이 떨어지지 않은 기간을 세어주면 된다..!

프로그래머스에는 스택/큐로 구분이 되어있지만, 간단하게 for문으로 풀 수 있다고 생각을 하였다..!

 

이중 for문으로 i는 현재 가격의 위치, j는 i + 1로 시간을 세려고 하는 위치를 나타낸다.

sec는 시간을 나타내고, 두번째 for문을 돌 때마다 sec++ 해준다.

그리고 prices[i]보다 prices[j]가 크면 break 해주고 탈출한다.

마지막에는 answer에 push 해주면 끝..!

#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 sec = 0;
        
        for(int j = i + 1; j < prices.size(); j++)
        {
            sec++;
            if(prices[i] > prices[j])
                break;
        }
        answer.push_back(sec);
    }
    
    return answer;
}
728x90
반응형