기본적인 투포인터 문제. 합에 따라 크기를 증감시키며 슬라이딩 시켰습니다.
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
arr = list(map(int, input().split()))
left, tmp, cnt = 0, 0, 0
for right in range(N):
tmp += arr[right]
while tmp > M:
tmp -= arr[left]
left += 1
if tmp == M:
cnt += 1
print(cnt)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 17779 게리멘더링2 (0) | 2022.01.16 |
---|---|
[백준][Python] 17143 낚시왕 (0) | 2022.01.13 |
[백준][Python] 11444 피보나치수6 - 행렬의 곱셈 (0) | 2021.12.19 |
[백준][Python] 11404 플로이드 (0) | 2021.12.19 |
[백준][Python] 2263 트리의 순회 (0) | 2021.12.15 |