새소식

반응형
250x250
Baekjoon/Silver

[백준] 투 포인터 - 2018_수들의 합5 Java[자바]

  • -
728x90
반응형

 

이 문제는 쉽게 풀 수 있는 문제였지만 합 배열을 생각하다보니 좀 헤맸었다.

 

합 배열로 투 포인터를 사용해보려고 시도를 하다 책을 봤다.

 

이렇게 쉽게 푼다고...? 싶을 정도로 간단한 풀이방법..

 

문제를 잘 보면 연속된 숫자라고는 하지만 단 하나의 숫자만 있어도 정답 처리가 된다,.

 

따라서 count는 1로 선언한다.

 

또한 start와 end도 1부터 시작을 해 차근차근 올라간다.

 

start와 end 까지의 합이 N보다 작으면 end를 하나 올려주고

 

더 크면 start를 하나 올려준다. 만약 N과 같을 경우 count를 하나 올려주고 end를 올려준다.

 

코드를 보자.

 

import java.io.*;

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 = 1;
        int end = 1;
        int count = 1;
        int sum = 1;
        
        while(end < N) {
        	if(sum < N) {
            	j++;
                sum += j;
            } else if(sum > N) {
            	sum -= i;
                i++;
            } else {
            	count++;
                end++;
                sum += end;
            }
        }
        System.out.println(count);
    }
}

 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.