글모음

[ 프로그래머스 ] 주식가격 (Level 2) 본문

카테고리 없음

[ 프로그래머스 ] 주식가격 (Level 2)

Nova_61 2021. 3. 7. 16:05
728x90
반응형

 

[ 코드 ]

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

 

  • 시간 복잡도 : O(N^2) - 이중 for문
  • 공간 복잡도 : O(N) - ans 리스트 하나

스택이나 큐를 사용한 문제인데 그냥 반복문으로 풀었다.

이중 for문이라 시간 복잡도가 O(N^2)이라 효율성이 좋지는 않는데 스택써도 시간 복잡도는 똑같을거라 최대한 반복을 줄이려고 노력했다.

prices의 마지막 요소는 어차피 비교할 것이 없으니 무조건 0이므로 연산에서 제외하고 대신 리스트 반환할 때 0을 붙여줬다.

 

 

 

코딩테스트 연습 - 주식가격

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

programmers.co.kr

 

728x90
반응형
Comments