문제 : 주식 가격
분석
level 2. 치고는 간단한 문제이다.
특이 케이스만 잘 처리해주면 손쉽게 풀 수 있다.
주의해야 할 케이스.
1. 떨어지는 기간이 1초일 때
2. 마지막 기간은 항시 0초
idx 주의하며 이중 for문으로 처리하면 된다.
구현
vector<int> solution(vector<int> prices)
{
vector<int> answer;
for (size_t i = 0; i < prices.size(); i++)
{
int cnt = 0;
for (size_t j = i + 1; j < prices.size(); j++)
{
if (prices[i] <= prices[j]) cnt++;
else
{
cnt++;
break;
}
}
answer.push_back(cnt);
}
return answer;
}
혹시나 해서 다른 사람들이 푼 코드들도 살펴봤는 데, O(N^2)이 최선인 것 같다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 C++] - 삼각 달팽이 (0) | 2021.01.18 |
---|---|
[프로그래머스 C++] - 프린트 (0) | 2021.01.17 |
[프로그래머스 C++] - 기능 개발 (0) | 2021.01.15 |
[프로그래머스 C++] - 다리를 지나는 트럭 (0) | 2021.01.14 |
[프로그래머스 C++] - 멀쩡한 사각형 (0) | 2021.01.13 |