[python 파이썬] 백준 2003번 수들의 합2

2021. 2. 15. 23:32Algorithm/BOJ

반응형
 

2003번: 수들의 합 2

첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.

www.acmicpc.net

이 문제는 투포인터 개념과 관련된 문제이다. 

투포인터의 개념을 알고 적용하는것이 중요하다!

 

n,m = map(int, input().split())
A=list(map(int, input().split()))
start=0
answer=0
end=0
while start <=end and end<=len(A):
    summ = sum(A[start:end])
    if summ==m:
        answer+=1
    if summ<=m:
        end+=1
        continue
    elif summ>m and start<end:
        start+=1
        continue
    else:
        start+=1
        end+=1
print(answer)

 

참고

https://kils-log-of-develop.tistory.com/370

반응형