프로그래머스 알고리즘/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
반응형