문제: 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 |