[알고리즘] 일일 온도

June·2021년 1월 19일
0

알고리즘

목록 보기
30/260

일일 온도

내 풀이

def dailyTemperatures(T: List[int]) -> List[int]:
    stack = []
    answer = [0] * len(T)
    for i in range(len(T)):
        while stack and T[i] > T[stack[-1]]:
            answer[stack[-1]] = i - stack[-1]
            stack.pop()
        stack.append(i)
    return answer

앞서 나왔던 빗물 트래핑, 백준의 탑과 아주 유사하다. 스택에서 지금 마주친 것이 더 높으면 스택을 아닐 때까지 비워낸다.

0개의 댓글