개발놀이터
3-5. 연속된 자연수의 합 본문
package 배열응용3장.연속된자연수의합3다시5.my;
import java.util.Scanner;
public class Main {
/**
* 이전 문제와 완벽히 동일 피드백 X
*/
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int input = kb.nextInt();
int[] arr = new int[input];
for (int i = 0; i < input; i++) {
arr[i] = i + 1;
}
System.out.println(solution(arr, input));
}
private static int solution(int[] arr, int input) {
int answer = 0;
// input = 5, arr = 1 2 3 4 5
int start = 0, end = 0, sum = 0;
while (start < input && end < input) {
if (input <= sum) {
sum -= arr[start];
start++;
}
else {
// input > sum
// 5 > 0
sum += arr[end];
end++;
}
if (input == sum) {
answer++;
}
}
return answer;
}
}
'기타 > 코딩테스트' 카테고리의 다른 글
3장 주요 개념 및 복습 (0) | 2023.02.18 |
---|---|
3-6. 최대 길이 연속 부분수열 (0) | 2023.02.18 |
3-4. 연속 부분수열 (0) | 2023.02.18 |
3-3. 최대 매출 (0) | 2023.02.18 |
3-2. 공통 원소 구하기 (0) | 2023.02.18 |