[JAVA 문제 풀이] 361. 연속된 부분 수열의 합

프로그래머스 (178870)
Stupefyee's avatar
Jul 04, 2025
[JAVA 문제 풀이] 361. 연속된 부분 수열의 합
notion image
 

내가 작성한 코드

class Solution { public int[] solution(int[] sequence, int k) { int left = 0; int right = 0; int sum = sequence[0]; // 최적 구간의 시작, 끝 인덱스와 최소 길이 int start = 0; int end = 0; int minLength = Integer.MAX_VALUE; while (right < sequence.length) { if (sum < k) { // 오른쪽 확장 right++; if (right < sequence.length) { sum += sequence[right]; } } else { // k와 같으면 정답 후보 if (sum == k) { int len = right - left + 1; if (len < minLength) { minLength = len; start = left; end = right; } } // 왼쪽 줄이기 sum -= sequence[left]; left++; } } return new int[]{start, end}; } }
Share article

stupefyee