-코드
n, m = map(int, input().split())
num = list(map(int, input().split()))
end = 0
interval_sum = 0
cnt = 0
for start in range(n):
while interval_sum < m and end < n:
interval_sum += num[end]
end += 1
if interval_sum == m:
cnt += 1
interval_sum -= num[start]
print(cnt)
처음에는 for문 2개를 가지고 했으나 시간 초과가 생겨서 알고리즘을 보니 두 포인터라는 분류여서 파이썬 투포잍터 관련해서 찾아보니 수행시간에서 차이가 있는 것 같았고 투포인터에 관해서 찾아서 설명을 보고 해결을 하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]14606번 피자 (Small) (0) | 2021.09.15 |
---|---|
[백준/파이썬]17294번 귀여운 수~ε٩(๑> ₃ <)۶з (0) | 2021.09.14 |
[백준/파이썬]10815번 숫자 카드 (0) | 2021.09.13 |
[백준/파이썬]7567번 그릇 (0) | 2021.09.10 |
[백준/파이썬]2729번 이진수 덧셈 (0) | 2021.09.10 |