이숭간 공부기록

[프로그래머스] 파이썬 _주식가격 본문

알고리즘/프로그래머스

[프로그래머스] 파이썬 _주식가격

이숭간 2021. 6. 15. 16:37
728x90

https://programmers.co.kr/learn/courses/30/lessons/42584

 

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

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

programmers.co.kr

 

문제유형 : 스택/큐, 구현

문제풀이 :

 

  • 문제구분은 스택/큐로 되어있는데 나는 이중반복문으로 O(n^2)으로 풀었다.. ( 근데 왜 효율성 통과된거지..?)
  • 풀이관점에서보면 돈이 떨어지는 지점에서, 그 지점도 포함시켜서? 시간을 계산해야한다는것만 주의하면 된다.
  • 스택을 사용한 더 빠르고, 문제출제 취지에 맞는 풀이가 있었다.아래 블로그에서 엄청 자세히 잘 설명해놔주셔서 참고하면 좋을것같다!

정답코드. ( 이중반복문 - O(n^2) )

def solution(prices):
    answer = []
    length = len(prices)
    for i in range(length):
        curr = prices[i]
        sum = 0
        for idx, j in enumerate(range(i+1, length)):
            if curr <= prices[j]:
                sum += 1
                continue
            else:
                sum +=1
                break
        answer.append(sum)       
    return answer