입출력 예 설명
-1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.
-2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.
-3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
-4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.
-5초 시점의 ₩3은 0초간 가격이 떨어지지 않았습니다.
접근법
먼저 주식의 유지 시간을 알려주는 배열을 하나 선언한 뒤, 주식 가격이 담긴 배열만큼 0을 초기화시켜줍니다. 첫 번째 반복문은 기준이 되는 주식을 나타내고, 두 번째 반복문은 다음 주식의 가격을 나타내며, 이를 통해 주식이 유지되었는지 판단을 합니다. 다음 가격이 떨어졌을 경우에는 자기 자신부터 다음 시간까지 유지가 되었다고 판단하기 때문에 1을 더해주고 반복문을 나오게 됩니다. 아닐 경우에는 계속해서 유지 시간을 더해줍니다.
나의코드
def solution(prices):
answer = [0] * len(prices)
for i in range(len(prices)):
for j in range(i+1, len(prices)):
if prices[i] <= prices[j]: answer[i] += 1
else:
answer[i] += 1
break
return answer