Algorithm/Programmers(c++)
[c++][프로그래머스] 주식 가격
kim-hasa
2021. 8. 13. 16:38
https://programmers.co.kr/learn/courses/30/lessons/42584?language=cpp
코딩테스트 연습 - 주식가격
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00
programmers.co.kr
초단위의 주식 가격이 떨어지지 않은 기간이 몇 초인지를 체크하는 문제입니다.
가장 먼저 맨 마지막을 제외하고 반복문을 돌립니다.
초기값을 정해두고 그 다음 값부터 차례대로 비교합니다. 비교해서 초기값보다 크다면 카운트를 증가시킵니다.
그러다가 초기값보다 작은 값이 나오는 경우, 그때까지의 카운트를 배열에 넣습니다.
마지막값은 무조건 0이므로, 0을 추가해주면 끝!
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> prices) {
vector<int> answer;
int len = prices.size();
int priceCount = 0;
for(int i=0; i<len-1; i++)
{
int firstPrice = prices[i]; // 초기 값 저장
for(int j=i+1; j<len; j++)
{
priceCount++;
if(firstPrice > prices[j]) // 다음 값이 처음보다 작을 경우 -> 감소했을경우
{
break;
}
}
answer.push_back(priceCount);
priceCount = 0;
}
answer.push_back(0); // 마지막 값은 무조건 0
return answer;
}