상세 컨텐츠

본문 제목

프로그래머스 주식가격 파이썬

알고리즘 공부

by 독서와 여행 2021. 3. 25. 11:20

본문

문제가 좀 이상하다.

문제가 이상하기 보다는 이해하는데 좀 껄끄럽다.

다음 인덱스에서 가격이 떨어지면 1초간 가격이 안 떨어진 것으로 이해하면 된다.

그렇게 해서 난 그냥 마지막 인덱스는 아에 비교도 안해버렸다.

def solution(prices):
    answer = []
    for_prices = prices[0:len(prices) - 1]  #인덱스 범위를 위해 마지막 인덱스는 for문에 넣지 않음
    for index, num in enumerate(for_prices): #인덱스 범위를 위해 마지막 인덱스는 for문에 넣지 않음
        up_price = 1
        for i in range(index + 1, len(for_prices)):
            if num <= prices[i] :
                up_price += 1
            else: 
                break
        answer.append(up_price)
    
            
    answer.append(0) # 마지막을 가격은 변동 없으니까        
    return answer

 

prices = {1, 2, 3, 2, 3, 1} return {5, 4, 1, 2, 1, 0}

이렇게 나온다고 이해만 하면

쉽게 풀 수 있는 문제다

시간 복잡도는 O(n^2) 되겠다.

관련글 더보기

댓글 영역