문제 풀이/백준
[백준] 2018번. 수 들의 합5
27200
2024. 1. 28. 14:16
https://www.acmicpc.net/problem/2018
문제
풀이
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int start=0, end=0;
int sum=0, cnt=0;
while(start<=N) {
while(++end<=N) {
sum += end;
if(sum>=N) {
if(sum==N) cnt++;
break;
}
}
while(++start<=N) {
sum -= start;
if(sum<=N) {
if(sum==N) cnt++;
break;
}
}
}
System.out.println(cnt);
}
}
탐색 알고리즘을 사용하는 것보다 투 포인터를 사용하여 문제를 해결하는 것이 효율적이라고 생각하여 이를 이용해 진행하였다.