문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/42584
문제 설명
1. 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어진다.
2. 가격이 떨어지지 않은 기간은 몇 초인지를 return 하시오.
문제 입출력 예)
prices | return |
[1, 2, 3, 2, 3] | [4, 3, 1, 1, 0] |
문제 풀이
- 문제를 이해하는데 오랜 시간이 걸렸다...
- 매번 실행일 경우 count를 더해주고
- 가격이 커 질경우 break를 걸어줘서 끝내는 코드를 작성하였다.
#include <string>
#include <vector>
#include <stack>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> prices) {
stack<int> answer;
vector<int> result;
int count = 0;
for(int i=0; i<prices.size(); i++){
count = 0;
answer.push(prices[i]);
for(int j=1+i; j<prices.size(); j++){
count++;
if(answer.top() > prices[j]){
break;
}
}
result.push_back(count);
}
return result;
}
리뷰
- 가격이 떨어지지 않은 기간을 구하는 것이라서
- 가격이 떨어진 구간이 발생 했을 경우 break를 걸어야했다.
'알고리즘 공부 > 프로그래머스 [C++]' 카테고리의 다른 글
프로그래머스 : 폰켓몬 [C++] (0) | 2022.11.01 |
---|---|
프로그래머스 : 완주하지 못한 선수 [C++] (0) | 2022.11.01 |
프로그래머스 : 중간 리뷰 (6일차) [C++] (0) | 2022.10.29 |
프로그래머스 : 콜라 문제 [C++] (0) | 2022.10.29 |
프로그래머스 : 중간 리뷰 (5일차) [C++] (0) | 2022.10.28 |
댓글