작성
·
197
0
while lt <= rt : ---> while True: 이렇게 해도 통과가 됩니다.
생각해봤는데 lt <= rt 조건이 필요 없는것이 아닌지 궁금합니다.
답변 3
0
2중 for문이 돌았다는 것 자체가 제가 설명한 방법보다 시간이 더 걸리는 코드입니다. 작은 차이 같지만 데이터가 커지면 그 차이도 무시 못합니다. 제가 설명한 방법으로 짜보시고 스스로 비교 분석해보시기 바랍니다.
다른 사람의 질문에 답글형식으로 질문을 하면 우연히 발견하지 않는 이상 제가 알 수 가 없습니다.
0
5번 째 test case에서 시간 초과가 납니다. 알려주신 코드와 비슷한 논리로 움직이는 것 같은데 어떤 부분이 문제일까요?
# 수들의 합
n, m = map(int, input().split())
list_ = list(map(int, input().split()))
cnt = 0
for i in range(n):
sum_ = 0
for j in range(i, n):
sum_ += list_[j]
if sum_ == m:
cnt += 1
break
elif sum_ > m:
break
print(cnt)
0
lt 값이 rt 값보다 커질 수 없는 코드였습니다. lt<=rt 에 값에 관계없이 항상 break로 종료되는 코드였네요.
while True: 로 하는게 논리상 맞는 것 같습니다. 감사합니다.^^
영상은 새로 고쳐 올리도록 하겠습니다.