알고리즘 6 | 주식가격

주식가격 (lv2)

프로그래머스 / 스택,큐

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.


제한사항

  • prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
  • prices의 길이는 2 이상 100,000 이하입니다.

  • 21.06.30
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) 의 길이를 가진 리스트를 미리 만들어 놓고, 값을 부여하는 것이 더 깔끔하고 좋을 것 같다.

조건 부분도 깔끔하게 개선이 필요.

좋은 웹페이지 즐겨찾기