πŸ‹ 문제링크


https://www.acmicpc.net/problem/2003

🍎 μ½”λ“œ 제좜 기둝 (λ©”λͺ¨λ¦¬ 및 μ‹œκ°„)


λ©”λͺ¨λ¦¬ : 123352 KB

μ‹œκ°„ : 276 ms

πŸ‰ Code


def sum_i2j(i, j, arr):
    answer = 0
    for k in range(i, j+1):
        answer += arr[k]
    return answer

N, M = map(int, input().split())
arr = list(map(int, input().split()))

start = 0
end = 0
result = 0

while (start < N and end < N):
    if (sum_i2j(start, end, arr) == M):
        result += 1
        end += 1
    elif (sum_i2j(start, end, arr) < M):
        end += 1
    elif (sum_i2j(start, end, arr) > M):
        if start == end:
            end += 1
        else:
            start += 1
    
print(result)

πŸ₯ λ©”λͺ¨


투 포인터 μ‚¬μš©!

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c638d77c-b72b-4e36-9e90-df0e1f67c884/Untitled.png