728x90
처음 든 생각
- 하나를 기준으로 뒤에 있는 모든 값들을 비교해야겠다.
- 끝에 있는 애는 사실상 무시가 가능하다고 봐도 무방할 것 같다. 뒤에 가격이 떨어지든 말든 마지막에는 무조건 1초가 증가되기 때문
나의 답
def solution(prices):
answer = []
for i in range(len(prices)-1):
m = 0
for j in range(i, len(prices)-1):
if prices[j] >= prices[i]:
m += 1
else:
break
answer.append(m)
answer.append(0)
return answer
모든 원소에 대하여 확인을 해야하므로 전체에 대한 반복문을 크게 감싼다.
그 다음 뒤에 있는 원소들을 비교하기 위하여 시작점을 세팅해주고 비교하여 떨어지지 않았다면 1을 키우고 만약 떨어졌다면 연속성이 끊겼으므로 반복문을 끝낸다.
그리고 맨 마지막 원소는 비교대상이 없어 값이 무조건 0이다.
리스트의 길이를 어떻게 설정할 것인지에 대하여 고민이 됐던 문제다. 마지막 원소의 특성을 잘 파악하는 것이 매우 중요했다.
728x90
'스터디 > 코딩테스트' 카테고리의 다른 글
python 코딩테스트 - 정렬 알고리즘 (0) | 2023.11.07 |
---|---|
python 코딩테스트 - 베스트 앨범 (0) | 2023.11.07 |
python 코딩테스트 - 의상 (0) | 2023.11.06 |
python 코딩테스트 - 타겟 넘버 (0) | 2023.11.06 |
python 코딩테스트 - 프로세스 (0) | 2023.11.05 |