티스토리 뷰

programmers.co.kr/learn/courses/30/lessons/42584

 

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

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

programmers.co.kr

분명 전에 풀었던 문제인데 못풀었다?!?!?!

 

바로 다음 초의 주식이 작아지더라도, 1초동안은 유지한걸로 치는걸 감안해서 작성했더니 오답이 나온다.

def solution(prices):
    answer = [0] * len(prices)
    for i in range(len(prices)):
        cnt = 0
        for j in range(i+1, len(prices)):
            if prices[i] <= prices[j]:
                cnt += 1
            else:
                if (j - i) == 1:
                    cnt = 1
                break
        answer[i] = cnt

    return answer

 

그래서 j 인덱스 위치를 탐색하면 우선 cnt를 +1한 후, 주식 가격이 떨어지면 for문을 break하도록 했다.

def solution(prices):
    answer = [0] * len(prices)
    for i in range(len(prices)):
        for j in range(i+1, len(prices)):
            answer[i] += 1
            if prices[i] > prices[j]:
                break           
    return answer

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/06   »
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
29 30
글 보관함