-
스택/큐 알고리즘 문제 : 프로그래머스 LEVEL 2(주식 가격) - 사용 언어 : C++ - 해결 날짜 : 2021-02-12
**- 해결 방법** : - prices vector를 돌며 마지막 전 인덱스까지 비교하되, 현재 인덱스보다 작은 값이 나온다면 주식 가격이 하락한 것이므로 answer vector에 추가하고 break로 while문을 종료하였다. - 마지막 전 인덱스까지의 주식 가격 하락 여부를 비교한다음 마지막 인덱스는 하락과 상승이 존재하지 않으므로 0을 push하여 문제를 해결하였다. - 코드 ```c++ #include <string> #include <vector> using namespace std; vector<int> solution(vector<int> prices) { vector<int> answer; for(int i = 0; i<prices.size()-1; i++){ int temp = i+1; //현재 index의 뒤 index들과의 비교를 위한 변수 int count = 1; //가격이 떨어지지 않은 기간 while(true){ //prices vector를 돌며 가격이 떨어지지 않은 기간을 카운트 if(prices[i] > prices[temp] || temp == prices.size()-1) { answer.push_back(count); break; } temp++; count++; } } answer.push_back(0); //마지막 인덱스는 무조건 0초 return answer; } ```