'파이썬 알고리즘 인터뷰'를 보고 작성한 글입니다. 😀
문제 👉 <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
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 771. Jewels and Stones [Python(파이썬)] (0) | 2021.11.23 |
---|---|
[LeetCode] 347. Top K Frequent Elements [Python(파이썬)] (0) | 2021.11.23 |
[LeetCode] 316. Remove Duplicate Letters [Python(파이썬)] (0) | 2021.11.23 |
댓글