시간 제한 : 10초/효율성 테스트 존재
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
prices의 길이는 2 이상 100,000 이하입니다.
from collections import deque
def solution(prices):
prices = deque(prices)
answer = []
while prices:
now = prices.popleft()
cnt = 0
for price in prices:
cnt+=1
if price<now:
break
answer.append(cnt)
return answer
코드가 짧아서 별도의 주석은 남기지 않았다.
시간복잡도 O(N^2)의 복잡도를 갖지만 이 문제에서는 통과가 된다. 스택으로 O(N)의 복잡도를 가지는 코드도 프로그래머스에서 참고할 수 있으니 확인하자.