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초인 것이다. (이후에 올라간 가격은 생각하지 않는다. 이미 떨어진 부분에서 끝이 나야한다.)
'Programmers' 카테고리의 다른 글
[Programmers / Python 풀이] 폰켓몬 (0) | 2023.01.03 |
---|---|
[Programmers / Python 풀이] 완주하지 못한 선수 (0) | 2023.01.03 |
[Programmers / Python 풀이] 다리를 지나는 트럭 (0) | 2023.01.03 |
[Programmers / Python 풀이] 기능개발 (0) | 2023.01.02 |
[Programmers / Python 풀이] 올바른 괄호 (0) | 2023.01.02 |