출처: https://meyouus.tistory.com/64 [정보 공유 - For Me For You For Us]
본문으로 바로가기

처음에 문제의 의미를 파악하지 못해서 한동안 읽어봐야 했다.

def solution(prices):
    answer = []
    for i in range(len(prices)-1):
        for j in range(i+1, len(prices)):
            if prices[i] > prices[j]:
                answer.append(j-i)
                break
        else:
            answer.append(len(prices)-i-1)
    answer.append(0)
    return answer

하지만 생각보다 간단한 문제였다. 단순히 특정 시점의 주식 가격이 그 가격보다 낮아지는 시점이 있는지 찾아주고, 있는지 없는지에 따른 시간을 계산하여 출력해주는 것이었다. 스택/큐 문제였지만, 그렇게 푸는 방법을 생각해내지 못해서 이중 for문을 사용하여 풀었다. 시간복잡도는 O(n^2)이 되므로, 원소가 많아진다면 상당히 복잡해질 우려가 있긴 하다.