728x90
import sys
n, m = map(int, sys.stdin.readline().split())
number = list(map(int, sys.stdin.readline().split()))
start, end = 0, 0
cnt = 0
tmp = number[0]
while True:
if tmp < m:
end += 1
if end >= n: #1
break
tmp += number[end]
elif tmp == m:
cnt += 1
tmp -= number[start]
start += 1
else:
tmp -= number[start]
start += 1
print(cnt)
#1 : end포인터가 n을 초과하지 않을때까지 반복, 인덱스 에러를 막기 위해 break문을 내부에 작성
end포인터 증가로 인한 인덱스 에러가 계속 발생해서 엄청 짜증났던 문제
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 2902 파이썬(python) : KMP는 왜 KMP일까? (0) | 2022.09.26 |
---|---|
[백준] 3273 파이썬(python) : 두 수의 합 (0) | 2022.09.25 |
[백준] 1940 파이썬(python) : 주몽 (0) | 2022.09.22 |
[백준] 2018 파이썬(python) : 수들의 합 5 (0) | 2022.09.22 |
[백준] 11659 파이썬(python) : 구간 합 구하기 4 (0) | 2022.09.21 |