정수들이 담긴 벡터를 받고,
벡터의 내의 각각의 숫자가 순서대로 진행될 때 몇번 연속 최대 값인지를 구하는 문제
단 아직 해당 값보다 더 큰 값이 나오지 않은 경우는 0으로 계산
class Solution {
public:
vector<int> dailyTemperatures(vector<int>& temperatures) {
stack<pair<int, int>> temp{};
temp.push({0, temperatures.front()});
int length = temperatures.size();
vector<int> result(length);
for (int i = 1; i < length; i++)
{
if (temp.top().second < temperatures[i])
{
do
{
result[temp.top().first] = i - temp.top().first;
temp.pop();
} while (temp.empty() == false && temp.top().second < temperatures[i]);
}
temp.push({i, temperatures[i]});
}
return result;
}
};