습관처럼
programmers [python] : 주식가격 본문
주식가격 문제:
초 단위로 기록된 주식가격이 담긴 배열 prices을 토대로 가격이 떨어지지 않은 기간은 몇 초인지를 출력
접근방식:
1초 부터 n-1초까지의 가격 상승 및 유지된 시간을 파악 마지막 시간은 0초로 픽스 시킨다.
문제에서 주어진 테스트 케이스를 먼저 살펴보자.
[1, 2, 3, 2, 3]이 prices로 주어진다.
1초 시점의 1원은 끝까지 가격이 떨어지지 않았다. 즉, 가격이 떨어지지 않은 기간은 4초이다.
2초 시점의 2원도 끝까지 가격이 떨어지지 않았다. 가격이 떨어지지 않은 기간은 3초이다.
3초 시점의 3원은 1초 후 가격이 2원으로 떨어졌다. 따라서 가격이 떨어지지 않은 시간은 1초이다.
4초 시점의 2원은 끝까지 가격이 떨어지지 않았다. 가격이 떨어지지 않은 기간은 1초이다.
5초 시점의 3원은 끝까지 가격이 떨어지지 않았지만 마지막 요소이기 때문에 가격이 떨어지지 않은 기간은 0초이다.
prices result
[1, 2, 3, 2, 3] | [4, 3, 1, 1, 0] |
나의 풀이
def solution(prices):
answer = []
for i in range(len(prices)-1):
cnt=0
for j in range(i+1,len(prices)):
if prices[i]<=prices[j]:
cnt+=1
else:
cnt+=1 #작은순간 1초안에 벌어지지 않았으므로 +1
break
answer.append(cnt)
answer.append(0) #마지막은 어차피 0
return answer
Funny Algorithms :0
'Algorithms > programmers' 카테고리의 다른 글
programmers [python] : 2018 KAKAO BLIND RECRUITMENT 뉴스 클러스터링 (0) | 2019.12.23 |
---|---|
programmers [python] : 2020 KAKAO BLIND RECRUITMENT 문자열 압축 (0) | 2019.12.22 |
programmers [python] : 2020 KAKAO BLIND RECUITMENT 괄호 변환 (0) | 2019.12.21 |
programmers [python] : 스킬트리 (0) | 2019.12.19 |
programmers [python] : 쇠막대기 (0) | 2019.12.18 |