본문 바로가기
Algorithm/BOJ

[BOJ]1806번: 부분합

by BAYABA 2022. 5. 2.

문제: https://www.acmicpc.net/problem/1806


전형적인 투포인터 문제입니다.

 

start, end 포인터 두 개를 만든 후 numbers[start] + ... + numbers[end] 까지의 합을 SUM으로 저장합니다.

 

1. SUM >= S인 경우, start를 전진시켜서 SUM 값을 감소시킨 후 다시 비교합니다.

2. SUM < S인 경우, end를 전진시켜서 SUM 값을 증가시킨 후 다시 비교합니다.

 

그렇게 모든 배열을 훑은 뒤 start-end+1의 최솟값이 정답이 됩니다.


코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ1806.java

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ]1253번: 좋다  (0) 2022.05.02
[BOJ]11404번: 플로이드  (0) 2022.05.02
[BOJ]10775번: 공항  (0) 2022.05.02
[BOJ]2098번: 외판원 순회  (0) 2022.05.01
[BOJ]16946번: 벽 부수고 이동하기 4  (0) 2022.05.01