728x90
반응형
https://www.acmicpc.net/problem/2018
투 포인터 문제는 처음 풀어본다. 알고리즘이 기가막힌것같다..
앞에서 시작하는 포인터를 2개를 두고 while문으로 끝까지 가면서 포인터를 줄이고, 늘리고 count를 세며 앞으로 나아가는게 핵심인 알고리즘이다.
구현은 아래를 보자
import java.util.Scanner;
public class App {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int count = 1;
int start = 1;
int end = 1;
int sum = 1;
while (end != N) {
if(sum==N){
count++; end++; sum = sum + end;
}else if(sum>N){
sum = sum - start;
start++;
}else{
end++; sum = sum + end;
}
}
System.out.println(count);
}
}
완성
728x90
반응형
'알고리즘' 카테고리의 다른 글
[백준] 1717번: 집합의 표현 - java (0) | 2024.07.17 |
---|---|
[백준] 11659번: 구간 합 구하기 4 - java (0) | 2024.07.11 |
[백준] 1546번: 평균 - java (2) | 2024.07.10 |
[백준] 11720번: 숫자의 합 - java (0) | 2024.07.10 |
java 입, 출력받기 (0) | 2024.06.30 |