• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

섹션3-5 수들의 합 문제 질문입니다.

21.08.27 03:05 작성 조회수 122

0

처음에 짠 코드는 for 문 중첩해서 이용해서 짰더니 개선해도 60점까지만 채점이 되어서,
강의에서 설명한 알고리즘을 숙지하고 코드는 보지 않은채로 코드를 아래와 같이 작성했는데요.
마지막 케이스만 통과가 되지 않고 80점이 나오는데, 강의에서 설명해주신 코드랑
크게 시간 복잡도 차이가 나지는 않는 것 같은데 왜 통과가 안되는 걸까요..?
lt = 0
rt = 1
total = arr[lt]

while(rt < n):

if total < m:
rt += 1
total = sum(arr[lt:rt])
elif total == m:
count += 1
total -= arr[lt]
lt += 1
else:
total -= arr[lt]
lt += 1
print(count)
 
관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

답변을 작성해보세요.

1

안녕하세요^^

아마 sum(arr[lt:rt])

때문일거라 생각합니다. sum함수의 시간복잡도은 O(n)입니다.