인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

thdmsdl87님의 프로필 이미지
thdmsdl87

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

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

작성

·

182

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)입니다.

thdmsdl87님의 프로필 이미지
thdmsdl87

작성한 질문수

질문하기