초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
def solution(prices):
answer = []
n = len(prices)
for i in range(n-1):
cnt = 0
for j in range(i+1, n):
cnt += 1
if prices[i] > prices[j]:
answer.append(cnt)
break
if j == n-1:
if prices[i] > prices[j]:
answer.append(cnt+1)
else:
answer.append(cnt)
answer.append(0)
return answer
스택이나 큐를 활용했다기 보다는 그냥 이중 반복문에 적절한 조건을 부여한 문제였다.
개선할만한 점은 answer
라는 빈 리스트에 append()
하는 것 보다는 len(prices)
의 길이를 가진 리스트를 미리 만들어 놓고, 값을 부여하는 것이 더 깔끔하고 좋을 것 같다.
조건 부분도 깔끔하게 개선이 필요.