Programmers

[Programmers / Python 풀이] 주식가격

Hoo_Dev 2023. 1. 3. 11:22
def solution(prices):
    answer = []
    for i in range(len(prices)):
        cnt = 0
        for j in range(i+1, len(prices)):
            if prices[i] <= prices[j]:
                cnt += 1
            if prices[i] > prices[j]:
                cnt += 1
                break
        answer.append(cnt)
    return answer

문제의 이해가 가장 어려웠던 문제.

 

처음엔 접근을 현재 가격 이후에 가격들 중 크거나 같은 가격을 찾는 방법을 사용했는데 테스트케이스만 맞고 전부 틀려버렸다.

 

문제 이해를 위해 질문하기 메뉴로 가서 문제를 훑어보니

 

핵심은 가격이 떨어지지 않은 기간 이었다.

 

즉 3 초-> 4초 를 갈 때 가는 그 1초를 버텼으니 1초인 것이다. (이후에 올라간 가격은 생각하지 않는다. 이미 떨어진 부분에서 끝이 나야한다.)