주식가격 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한다.
댓글남기기