주식가격 Pgs#42584

주식가격 PGs#42584

Python 코드 보기
def checker(now, prices):
    time = now
    while 1:
        if time+1 >= len(prices) or prices[now] > prices[time]:
            break
        time += 1
        
    return time-now
        
def solution(prices):
    answer = []
    
    for i in range(0, len(prices)):
        answer.append(checker(i, prices))
    return answer

☝ 입력 형식

  • 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어진다.

제한사항

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

🤞 출력 형식

  • 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.

🤟 구현 과정

1. checker() 구현하기

checker()은, 자기보다 낮은 가격이 나오는 순간까지 걸리는 시간을 return 하는 함수다.

굳이 함수로 빼지 않고, while 문 안에 넣어서 작동해도 문제 없지만, 코드 가독성을 위해 따로 구현하였다.

2. 메인 함수 구현하기

prices배열의 원소들을 checker()을 통해 가격이 감소하지 않는 순간까지 시간을 체크하고, 각 원소에 대한 시간을 answer에 append한다.

댓글남기기