[백준 2003] 수들의 합 2

Junyoung Park·2022년 3월 20일
0

코딩테스트

목록 보기
290/631
post-thumbnail

1. 문제 설명

수들의 합

2. 문제 분석

투 포인터를 통해 범위 합을 기록한다. m과 비교하면서 m이 되는 순간 cnt를 1씩 증가시키면서 총 몇 개의 가능한 경우의 수가 생기는지 확인

3. 나의 풀이

import sys

n, m = map(int, sys.stdin.readline().rstrip().split())
numbers = list(map(int, sys.stdin.readline().rstrip().split()))

left, right = 0, 0
sum, cnt = 0, 0

while right < n:
    added = numbers[right]
    if sum + added < m:
        sum += added
        right += 1
    elif sum + added == m:
        sum += added
        right += 1
        cnt += 1
    else:
        sum -= numbers[left]
        left += 1
print(cnt)
profile
JUST DO IT

0개의 댓글