백준

2018번 (silver5)

이야기prog 2025. 1. 11. 19:18

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

간단한 투포인터 알고리즘을 사용한 문제이다.

 

#include <iostream>

using namespace std;
int main() {

	long N, start = 1, end = 1, count = 0;
	cin >> N;
	while (end <= N) {
		long sum = (start + end) * (end + 1 - start) / 2;
		if (sum > N) start++;
		else if (sum < N) end++;
		else count++, end++;
	}
	cout << count;
	

	return 0;
}

투포인터의 기본을 이해하면 쉽게 풀이가 가능하다.

'백준' 카테고리의 다른 글

1253번 (gold 4)  (0) 2025.01.12
1940번 (silver 4)  (0) 2025.01.11
10986번 (gold 3)  (0) 2025.01.09
11660번 (silver 1)  (0) 2025.01.09
11659번 (Silver 3)  (0) 2025.01.09