알고리즘/프로그래머스

[프로그래머스 C++] - 주식 가격

문제 : 주식 가격

 

https://programmers.co.kr/learn/courses/30/lessons/42584

 분석

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)이 최선인 것 같다.