굥뷰를 햡시댜

[Programmers] 주식가격 본문

알고리즘 문제 풀이/Programmers 문제 풀이

[Programmers] 주식가격

GodZ 2019. 11. 28. 23:50

https://programmers.co.kr/learn/courses/30/lessons/42584?language=python3

 

코딩테스트 연습 - 주식가격 | 프로그래머스

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지

programmers.co.kr

 

문제에서 주어지는 prices의 길이가 10만으로 꽤 크다.

 

단순하게 이중 포문으로 구현하였는데 효율성까지 통과한걸 보니 문제에서 주어지는 테스트 케이스가 약한것 같다.

 

- 풀이 방법

1. 처음부터 끝까지 그냥 비교

 

def solution(prices):
    answer = []
    
    p_len = len(prices)

    for i in range(0, p_len):
        cnt = 0
        for j in range(i + 1, p_len):
            if prices[i] <= prices[j]:
                cnt += 1
            else:
                cnt += 1
                break
        answer.append(cnt)
    
    return answer
Comments