개발/algorithm
[프로그래머스][level2] 주식가격 - python
zzi_on2
2022. 2. 3. 16:43
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42584
코딩테스트 연습 - 주식가격
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00
programmers.co.kr
풀이
- 처음엔 문제 이해를 못해서 질문하기 읽고 풀었다
- 주식 가격이 떨어지지 않고 유지된 시간을 구하는 문제
- 따라서 해당 시간 뒤에 주식 가격을 해당 가격와 비교하여 떨어졌으면 종료, 같거나 증가했으면 유지된 시간 +1
def solution(prices):
# 유지된 시간
answer = [0] * len(prices)
for i in range(len(prices)):
for j in range(i, len(prices)):
# 같거나 증가했으면 +1
if prices[i] <= prices[j]:
answer[i] += 1
# 떨어졌으면 종료
else:
answer[i] +=1
break
return answer
- 2022.03.28 다시 품
def solution(prices):
answer = []
for i in range(len(prices)-1):
num = prices[i]
cnt = 0
for j in range(i+1, len(prices)):
# 시간 증가
cnt += 1
# 주식이 떨어졌으면 종료
if prices[j] < num :
break
# 유지된 시간 추가
answer.append(cnt)
# 마지막 주식은 항상 0
answer.append(0)
return answer