프로그래밍/BOJ

백준 알고리즘 [2292번] (C++) 벌집

coty 2019. 8. 6. 14:09


Code

#include <iostream>
using namespace std;

int main() {

	ios::sync_with_stdio(NULL);
	cin.tellg();

	int N;
	int range = 2;
	int count = 0;

	cin >> N; // N <= 10억

	if (N != 1) {
		for (int i = 1; range <= N; i++) {
			range += (6 * i);
			count = i;
		} // for
	}
	cout << count + 1;
}

Wrong code

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(NULL);
	cin.tellg();

	int N, check = 0;
	int j = 1;

	cin >> N; // N <= 10억

	for (int i = 2; i < N; i++) {
		check++;

		if ((check % (6 * j)) == 0) {
			j++;
			check = 0;
		}
	}
	cout << j;
}

밑의 코드도 결과값이 맞게 나오지만 N을 모두 확인해야 하기 때문에 시간 초과에 걸린다.