본문 바로가기
Algorithm 문제풀기/Baekjoon

[JAVA] 수들의 합 5 ::: 수학, 두 포인터

by 내일이야 2024. 6. 10.

[ 문제 ]

https://www.acmicpc.net/problem/2018

 

 

 

[ 제출코드 ]

 

 

 

[ 풀이 ]

1. 두 개의 포인터(시작, 끝)를 선언합니다.

2. 연속된 자연수의 합인 sum을 구합니다.

3. sum이 n과 같다면 answer에 1을 증가시킵니다.

4. sum이 n보다 작다면 끝 포인터(endP)를 1 증가시킨 뒤 sum에서 증가시킨 끝 포인터(endP)를 더해줍니다.

5. sum이 n보다 크다면 sum에서 시작 포인터(startP)만큼 뺀 뒤 시작 포인터(startP)를 1 증가시킵니다.