➰ 취업준비/알고리즘 문제풀이

[Python][백준][2003] 수들의 합 2 (투 포인터)

 사과개발자 2021. 4. 8. 21:33

🍋 문제링크

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)

🥝 메모

투 포인터 사용!

반응형