320x100
문제 : https://leetcode.com/problems/daily-temperatures/
일별 온도 정수 배열이 주어지면 해당 날짜에서 볓 번째 날이 지났을 때 해당 날짜의 온도보다 더 높은 온도를 얻을 수 있는지 저장한 배열을 구하라. 만일 가능한 날이 없다면 0을 저장해라.
배열을 뒤에서부터 탐색하면서 stack에 탐색하는 일자의 온도보다 높은 온도만 존재하게 유지한다.
탐색하면서 만일 stack에 탐색 일자의 온도보다 높은 온도가 존재하지 않는다면 0, 존재한다면 stack의 top에 있는 온도의 인덱스에 현재 인덱스를 뺀 값을 정답 배열에 저장한다.
Ex)
temperatures = [73,74,75,71,69,72,76,73]
시간복잡도는 O(N)
소스코드
C++ : https://github.com/fpdjsns/Algorithm/blob/master/leetcode/medium/739.%20Daily%20Temperatures.cpp
python : https://github.com/fpdjsns/Algorithm-python/blob/main/leetcode/medium/739.%20Daily%20Temperatures.py
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[Leetcode] 80. Remove Duplicates from Sorted Array II (0) | 2021.11.15 |
---|---|
[Leetcode] 34. Find First and Last Position of Element in Sorted Array (0) | 2021.11.14 |
[Leetcode] 203. Remove Linked List Elements (0) | 2021.11.13 |
[Leetcode] 1413. Minimum Value to Get Positive Step by Step Sum (0) | 2021.11.11 |
[Leetcode] 77. Combinations (0) | 2021.11.10 |
댓글