๋ฌธ์ ์ ๋ชฉ | ์ ๋ต๋ฅ | ๋์ด๋ |
739. daily_temperatures | 66.3% | Medium |
Daily Temperatures - LeetCode
Can you solve this real interview question? Daily Temperatures - 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
leetcode.com
๋ฌธ์ ์์ฝ
๋ฌธ์ํ์ ์์๋ก ๊ฐ์ง๋ ๋ฐฐ์ด์ด ์ฃผ์ด์ง ๋, ์ค๋๋ณด๋ค ๋ ๋ฐ๋ปํ ๋ ์จ๋ฅผ ์ํด์๋ ์ผ๋ง์ ๋ ๋ค์ ๋ ๊ธฐ๋ค๋ ค์ผ ํ๋์ง์ ๋ํ ๋ฐฐ์ด์ ๋ฐํํด๋ผ
์กฐ๊ฑด 1) ๋ฌธ์์ด์ ๊ธธ์ด๋ 1 ์ด์์ด๊ณ , ์์๋ 30 ์ด์ 100 ์ดํ์ ์ ์ ๊ฐ์ด ์ฃผ์ด์ง๋ค
ํ์ด 1
์คํ์ด์ฉ (๋จ, ์คํ์ ๊ฐ์ ์ ์ฅํ์ง ์๊ณ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ค)
Step1. ์์น๊ตฌ๊ฐ ํ๋จ(์ด์ ๊ฐ๋ณด๋ค ๊ฐ์ด ํฐ ์ง์ ์ ํ์ธ)
- ์์น๊ตฌ๊ฐ์ด ์๋๋ฉด ์คํ์ ํด๋น ์จ๋๊ฐ๊ณผ ๋์๋๋ ์ธ๋ฑ์ค ์ ์ฅ
- ์์น๊ตฌ๊ฐ์ด๋ฉด ์คํ์ ๊ฐ๋ค๊ณผ ๋น๊ตํ์ฌ ํ์ฌ ๊ฐ์ด ๋ ํฐ ์ง์ ๋ค์ ๋ํด ๊ฒฐ๊ณผ ๋ฆฌ์คํธ์ ๋ ์ง ๊ณ์ฐํ์ฌ ์ ๋ฐ์ดํธ ํ, ํด๋น ์ง์ ์ ์คํ์์ ์ญ์
๊ตฌํ (1132ms)
class Solution:
def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
idx_stack=[]
result=[0 for i in range(len(temperatures))]
for idx, value in enumerate(temperatures):
while len(idx_stack)!=0 and value>temperatures[idx_stack[-1]]:
last_idx=idx_stack.pop()
result[last_idx]=(idx-last_idx)
idx_stack.append(idx)
return result
'์๊ณ ๋ฆฌ์ฆ๐ฅ > ๋ฌธ์ ํ์ด (Python)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LeetCode] 622. design_circular_queue (Medium) 2023/5/10 (0) | 2023.05.10 |
---|---|
[LeetCode] 232. implement_queue_using_stacks (Easy) 2023/5/10 (0) | 2023.05.10 |
[LeetCode] 316. remove_duplicate_letters (Medium) 2023/5/8 (0) | 2023.05.08 |
[LeetCode] 20. Valid_Parentheses (Easy) 2023/5/8 (0) | 2023.05.08 |
[LeetCode] 2. Add_Two_Numbers (Medium) 2023/5/5 (0) | 2023.05.05 |