강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của skscjfgh8061
skscjfgh8061

câu hỏi đã được viết

Kiểm tra mã hóa [ TẤT CẢ TRONG MỘT ]

Daily temperatures 시간 복잡도 질문

Đã giải quyết

Viết

·

285

1

안녕하세요 강사님, Daily temperatures 문제 시간 복잡도에 의문이 생겨서 질문 드립니다.

 

강의에서 말씀해주신 코드가 아래와 같은데요

def daily_temperatures(temperatures):
    ans = [0] * len(temperatures)
    stack = []
    for day, temp in enumerate(temperatures):
        while stack and stack[-1][1] < temp:
            prev_day = stack.pop()[0]
            ans[prev_day] = day - prev_day
        stack.append((day, temp))
    return ans

첫번째 for 부분에서 시간 복잡도가 O(n)이고,

두번째 while문이 왜 시간복잡도가 O(1)인지 좀 헷갈립니다.

list의 pop의 시간복잡도가 O(1)이긴 한데, 이것도 n번 반복하면 O(n)이지 않나요?

while문에서 최대한 pop이 일어날수 있는 수가 n번 ? 같아서 질문 드립니다.

 

감사합니다.

python코딩-테스트알고리즘

Câu trả lời 1

0

doocide2310님의 프로필 이미지
doocide2310
Người chia sẻ kiến thức

안녕하세요 철호님! 해당 질문의 답변은 영상으로 설명드리는 게 좋을 듯하여 커리큘럼에 추가했습니다!~ 참고해 주세요 :)

image

Hình ảnh hồ sơ của skscjfgh8061
skscjfgh8061

câu hỏi đã được viết

Đặt câu hỏi