two pointer1 [BOJ] 1806번: 부분합 (C++) Problem 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net Solution 구간 합의 시작을 가리키는 start 포인터와 끝을 가리키는 end 포인터를 두고 조건에 맞게 end 포인터와 start 포인터를 증가시키면 된다. 처음부터 숫자를 하나씩 더해가면서 합이 S 이상이 되면 start 포인터를 1 증가시키고 합을 갱신한다. 갱신된 합이 S보다 작으면 end 포인터를 합이 S 이상이 될 때까지 증가시킨다. 이 과정을 반복하는 동안 end - start의 값을 계산하여 가장 짧은 부분합의 길.. 2022. 1. 4. 이전 1 다음