- 문제 풀이
"스택"를 사용하는 문제였다.
(하지만 나는 중첩 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;
}
'프로그래머스' 카테고리의 다른 글
| 전력망을 둘로 나누기 - 프로그래머스, c++ (0) | 2023.02.12 |
|---|---|
| 다리를 지나는 트럭 - 프로그래머스, c++ (0) | 2023.02.11 |
| 조이스틱 - 프로그래머스, c++ (0) | 2023.02.09 |
| 구명보트 - 프로그래머스, c++ (0) | 2023.02.08 |
| 큰 수 만들기 - 프로그래머스, c++ (0) | 2023.02.07 |