스터디/코딩테스트

python 코딩테스트 - 주식가격

공대생철이 2023. 11. 6. 23:51
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