주식가격
문제
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 반환하기
해결
이중 반복문 사용하기
def solution(prices):
n = len(prices)
answer = [0]*n
for i in range(n):
flag = False
for j in range(i+1, n):
if prices[i] > prices[j]:
answer[i] = j-i
flag = True
break
if not flag: answer[i] = n-i-1
return answer
스택을 사용하기
def solution(prices):
n = len(prices)
answer = [0] * n
stack = []
for i in range(n):
while stack and prices[i] < prices[stack[-1]]:
j = stack.pop()
answer[j] = i-j
stack.append(i)
while stack:
i = stack.pop()
answer[i] = n-1 - i
return answer
Leave a comment