작성
·
157
0
안녕하세요! 강의 잘 듣고 있습니다! 5. 수의 합 문제에서 설명만듣고 제 나름대로 소스코드를 구현했는데, 제 소스코드로 구현하면 예시 입력 케이스 2,4,5번에 대해 원래 정답에서 -1만큼 한 결과값이 나오게 되네요... 하단의 코드에서 어떤 문제 때문에 발생하는 건지 문의드려도 될까요!? 답변주시면 감사하겠습니다 :)
n, m = map(int, input().split())
a = list(map(int, input().split()))
lt, rt = 0, 1
tot = a[0]
cnt = 0
while rt < n:
if tot < m:
tot += a[rt]
rt += 1
else:
if tot == m:
cnt += 1
tot -= a[lt]
lt += 1
print(cnt)
답변 1
1
안녕하세요^^
아래와 같이 하면 나오네요.
n, m = map(int, input().split())
a = list(map(int, input().split()))
lt, rt = 0, 1
tot = a[0]
cnt = 0
while rt < n:
if tot < m:
tot += a[rt]
rt += 1
else:
tot -= a[lt]
lt += 1
if tot == m:
cnt += 1
print(cnt)
답변 감사합니다! 마지막 if 문을 바깥에다가 지정해야 되군요..!