강의로 돌아가기
류원탁

효율성 테스트 관련해서 질문있습니다.

어느정도 효율성이 나와야 테스트를 통과할 수 있나요?

def solution(prices):
    answer = []
    N=len(prices)
    Done=False
    for i in range(N-1):
        temp=prices[i]
        for j in range(N-(i+1)):
            if int(prices[j+i+1]/temp)==0 and not Done:
                answer.append(j+1)
                Done=True
        if not Done:
            answer.append(N-(i+1))
        Done=False

    answer.append(0)
    return answer

정답은 맞는데 효율성 테스트를 하나도 통과를 못하네요.

읽어주셔서 감사합니다.

작성중인 코드―solution.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def solution(prices):
    answer = []
    N=len(prices)
    Done=False
    for i in range(N-1):
        temp=prices[i]
        # temp=[int(prices[j+i+1]/temp) for j in range(N-(i+1))]
        for j in range(N-(i+1)):
            if int(prices[j+i+1]/temp)==0 and not Done:
                answer.append(j+1)
                Done=True
        if not Done:
            answer.append(N-(i+1))
        Done=False
#         if min(temp)>0:
#             answer.append(N-(i+1))
#         else :
#             answer.append(temp.index(0)+1)

    answer.append(0)
    return answer
1 개의 답변
Demi

안녕하세요. 본 문제의 권장 Time complexity는 O(N)입니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.