티스토리 뷰

문제 링크

 

코딩테스트 연습 - 주식가격

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00

programmers.co.kr

 

 

 

풀이

스택/큐 파트에 있었지만 반복문 2개로 풀었다.

 

요약하자면,

현재 원소가 앞에 원소보다 커진다면 answer 컨테이너에 현재 해당 인덱스 - 각 원소들 인덱스로 넣어주었다.

 

현재 해당 인덱스 - 각 원소들 인덱스 = 각 원소들이 떨어질 때까지 걸린 기간

 

 

 

더보기
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> prices) {
    vector<int> answer;
    for(int i=0, j; i<prices.size(); i++){
        for(j=i; j<prices.size()-1; j++){
            if(prices[i] > prices[j]) break;
        }
        answer.push_back(j-i);
    }
    
    return answer;
}
728x90
반응형
댓글
05-04 04:29
링크