반응형
문제 설명
Given an array of integers temperatures
represents the daily temperatures, return an array answer
such that answer[i]
is the number of days you have to wait after the ith
day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0
instead.
Example 1:
Input: temperatures = [73,74,75,71,69,72,76,73]
Output: [1,1,4,2,1,1,0,0]
Example 2:
Input: temperatures = [30,40,50,60]
Output: [1,1,1,0]
Example 3:
Input: temperatures = [30,60,90]
Output: [1,1,0]
Constraints:
1 <= temperatures.length <= 105
30 <= temperatures[i] <= 100
문제 풀이
class Solution:
def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
last_idx = []
answer = len(temperatures) * [0]
// 현재의 Temperature index와 값을 받아오기 위해서 enumerate 사용
for idx, today_temp in enumerate(temperatures):
// 현재의 값이 이전의 값보다 높고, 이전의 값이 들어있는 배열이 다 빌때까지
while last_idx and today_temp > temperatures[last_idx[-1]]:
// 이전의 값보다 현재의 값이 높으므로, 이전의 값의 인덱스를 pop으로 불러옴
last = last_idx.pop()
// asnwer 배열에 저장 (현재 인덱스와 이전의 인덱스)
answer[last] = idx - last
last_idx.append(idx)
return answer
반응형
'스터디 공간' 카테고리의 다른 글
[sklearn] Data Scaling (Standard / minmax / maxabs / Robust) (0) | 2022.02.27 |
---|---|
[Python-Leetcode] 232. Implement Queue using Stacks (difficulty : Easy - ☆) (0) | 2021.08.12 |
Python - Sorted (정렬, key 2개) 오름차순 / 내림차순 (0) | 2021.08.09 |
[Programmers 문제풀이] 해시 - 베스트앨범 (0) | 2021.08.09 |
[Programmers] 해시 - 위장 (0) | 2021.08.08 |
댓글