티스토리 뷰

728x90
반응형

 

문제

programmers.co.kr/learn/courses/30/lessons/42584?language=python3

 

코딩테스트 연습 - 주식가격

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00

programmers.co.kr

 

코드

def solution(prices):
    answer = []
    for i in range(len(prices)):
        r = 0
        for j in range(i+1, len(prices)):
            if prices[i] <= prices[j]:
                r += 1
            else:
                r += 1
                break
        answer.append(r)
    return answer

주식가격 배열이 [1,2,3,2,3] 일때 각 인덱스 자리마다 가격이 떨어지지않은 시간 초를 구하는 문제이다.

 

for문으로 전체를 돌면서 i보다 1큰 인덱스부터 끝까지 비교해가면서 더 같거나 더 클경우에는 계속 진행하는데 만약 인덱스 i보다 더 작은 값이 나오면 break문으로 멈춘다.

 

여기서 3의 경우 바로 2로떨어지는데도 1초동안 유지되었다고 치기 때문에 숫자가 떨어지는 경우에도 r += 1을 하고 break문이 실행된다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28