-
백준 2018(수들의 합 5) JAVA <투 포인터>백준 문제 2023. 7. 10. 15:34728x90
n이 주어지면 1 ~ n 까지의 연속된 수들의 합이 n인 경우의 수를 구하는 것입니다.
예를 들어 n = 15이면 {1, 2, 3, 4, 5}, {456}, {7, 8}, {15}
총 4가지 입니다.
투포인터를 사용했습니다.
import java.util.Scanner; public class boj_2018 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int l =1, r =1; int sum =0; int cnt = 0; while(l <= r && r<=n){ if(sum <n)sum += r++; else{ if(sum == n)cnt++; sum -=l++; } } System.out.println(cnt + 1); //자기 자신 답 포함 } }
'백준 문제' 카테고리의 다른 글
백준 12891(DNA 비밀번호) JAVA <슬라이딩 윈도우> (0) 2023.07.12 백준 2567(색종이2) JAVA (0) 2023.07.11 백준 17471(게리맨더링) c++ (0) 2023.03.30 백준 2110(공유기 설치) c++ (0) 2023.03.28 백준 5904(Moo 게임) c++ (0) 2023.03.24