프로그래머스

주식가격 - 프로그래머스, c++

2023. 2. 10. 23:51

 

 

- 문제 풀이

"스택"를 사용하는 문제였다.

(하지만 나는 중첩 for문을 사용하여 해결했다. 구글에 서치를 해보니 중첩 for문을 사용하는 풀이도 알고리즘 복잡도 등의 면에서 나쁘진 않은 것 같다.)

 

 

- 코드

제출한 코드는 다음과 같다.

#include <string>
#include <vector>
using namespace std;

vector<int> solution(vector<int> prices) {
    // 필요한 변수 선언
    vector<int> answer;
    
    // 중첩 for문 돌며 가격 떨어지지 않는 기간 계산
    for(int i=0; i<prices.size()-1; i++) {
        int count = 0;
        for(int j=i+1; j<prices.size(); j++) {
            if(prices[i] <= prices[j]) {
                count++;
            }
            else {
                count++;
                break;
            }
        }
        answer.push_back(count);
    }
    answer.push_back(0);
    
    // 계산 값 반환
    return answer;
}