1. 문제
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.제한사항
- prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
- prices의 길이는 2 이상 100,000 이하입니다.
2. 풀이
자신의 위치보다 이후에 나오는 price 중 자신보다 작은 가격이 나올 때까지 cnt++를 하고, 끝까지 더해지는 경우는 -1을 해준다. 마지막 값은 비교를 진행할 price가 없으므로 0으로 값을 지정한다.
#include <iostream>
#include <vector>
using namespace std;
vector<int> solution(vector<int> prices) {
vector<int> answer;
int len = prices.size();
for (int i = 0; i < len - 1; i++) {
int cnt = 1, j;
for (j = i + 1; j < len; j++) {
if (prices[i] > prices[j]) {
break;
}
cnt++;
}
if (j == len) cnt--;
answer.push_back(cnt);
}
answer.push_back(0);
return answer;
}
[참조]
programmers.co.kr/learn/courses/30/lessons/42584
'Programmers > C++' 카테고리의 다른 글
[Programmers/C++] 프린터 (0) | 2021.03.25 |
---|---|
[Programmers/C++] 기능개발 (0) | 2021.03.25 |
[Programmers/C++] 다리를 지나는 트럭 (0) | 2021.03.25 |
[Programmers/C++] 베스트앨범 (0) | 2021.03.24 |
[Programmers/C++] 위장 (0) | 2021.03.24 |