본문 바로가기
  • KEEP HUSTLE!
파이썬 코테 준비

[백준 1806] 부분합 - Python(파이썬)

by 하수군 2021. 3. 31.

투 포인터를 활용한 코드

import sys

N, S = map(int, sys.stdin.readline().split())
data = list(map(int, sys.stdin.readline().split())) + [0]
start, end = 0, 1
answer = float('inf')
temp = data[0]

while start < end < N+1:
    if temp >= S:
        if answer > end - start:
            answer = end - start
        temp -= data[start]
        start += 1
    else:
        temp += data[end]
        end += 1

print(answer if answer != float('inf') else 0)

댓글