본문 바로가기
Coding Test/LeetCode

[LeetCode] 739 Daily Temperatures [Python(파이썬)]

'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀

문제 👉 <Daily Temperatures - LeetCode>

1. 문제 (일일 온도)

매일의 화씨 온도 리스트 T를 입력받아, 더 따뜻한 날씨를 위해서는 며칠을 더 기다려야하는지를 출력하라.

2. 풀이

  • 스택을 이용한 풀이
    • 스택에 인덱스를 넣기 전에 해당 인덱스의 온도 값이 추가되는 온도와 비교한다

3. 코드

  • 스택을 이용한 풀이
class Solution:
    def dailyTemperatures(self, T: List[int]) -> List[int]:
        st, ret = [], [0] * len(T)
        for idx, val in enumerate(T):
            while st and T[st[-1]] < val:
                last = st.pop()
                ret[last] = idx - last
            st.append(idx)
        return ret
  • 결과 :
방식 Status Runtime Memory Language
스택 [Accepted] 504 ms 18.8 MB python3


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글