C++:: 프로그래머스 <주식가격>

jahlee·2023년 4월 1일
0

프로그래머스_Lv.2

목록 보기
24/106
post-thumbnail

스택에 쌓으며 가격이 떨어진다면 해당 가격의 인덱스에 현재 인덱스 - 해당 가격의 인덱스를 넣어주면 되는 문제이다. 크게 어렵지는 않다.

#include <string>
#include <vector>
#include <deque>
using namespace std;

vector<int> solution(vector<int> prices)
{
    int n = prices.size();
    vector<int> answer(n);
    deque<pair<int,int>> dq;
    for(int i=0;i<prices.size();i++)
    {
        while (!dq.empty() && dq.front().first > prices[i])
        {
            answer[dq.front().second] = i - dq.front().second;//주식이 떨어졌다면 몇초뒤에 떨어졌는지
            dq.pop_front();
        }
        dq.push_front({prices[i], i});
    }
    for(auto c : dq) answer[c.second] = n - c.second - 1;// 떨어진적 없는 주식들 
    return answer;
}

0개의 댓글