1. 문제
2. 접근법
투포인터 문제로 start와 end 변수를 선언하고
sum과 count를 1로 설정한다. 그 이유는 15일때 1가지가 있으므로 1로 설정
1. sum == N일때
end++, sum+=end, count++
2. sum > N 일때
sum -= start, start++
3. sum < N 일때
end++, sum+= end
3. 코드
package week10;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Baek2018 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bufferedReader.readLine());
int start = 1;
int end = 1;
int sum = 1;
int count = 1;
while(end != N){
if(sum == N){
end++;
sum += end;
count++;
}else if(sum > N){
sum -= start;
start++;
}else{
end++;
sum += end;
}
}
System.out.println(count);
}
}
'📖Algorithm > TwoPointer' 카테고리의 다른 글
자바 [Algorithm] 투포인터 - 백준 11728 배열 합치기 (0) | 2024.06.09 |
---|---|
자바 [Algorithm] 투포인터 - 백준 2003 수들의 합 2 (0) | 2024.05.27 |