반응형
알고리즘 분류
- 두 포인터
SOLUTION
import sys
N, S = map(int, sys.stdin.readline().split())
nums = list(map(int, sys.stdin.readline().split()))
left, right = 0, 1
tmp = nums[0]
length = sys.maxsize
while True:
if tmp >= S:
length = min(length, right - left)
tmp -= nums[left]
left += 1
elif right == N:
break
else:
tmp += nums[right]
right += 1
if length == sys.maxsize:
print(0)
else:
print(length)
'코딩테스트 대비 > 단계별 코딩 테스트 준비(27일 과정)' 카테고리의 다른 글
[트리/Python] 5639번: 이진 검색 트리 - 효과는 굉장했다! (0) | 2022.02.19 |
---|---|
[트리/Python] 2263번: 트리의 순회- 효과는 굉장했다! (0) | 2022.02.19 |
[투 포인터/Python] 3273번: 두 수의 합 - 효과는 굉장했다! (0) | 2022.02.19 |
[다익스트라/Python] 1916번: 최소비용 구하기 - 효과는 굉장했다! (0) | 2022.02.19 |
[다익스트라/Python] 1753번: 최단경로 - 효과는 굉장했다! (0) | 2022.02.19 |