Notice
Recent Posts
Recent Comments
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
관리 메뉴

일상

[C++] 백준 2292 : 벌집 본문

programming

[C++] 백준 2292 : 벌집

Mysteryu 2023. 8. 2. 19:26

풀이 과정

 

벌집이 생성되는 과정을 풀어보면

 

1

2, 3, 4, 5, 6, 7

8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37

38, 39, ... , 61

 

1에서 6을 더한 7까지가 거리가 2가 되고

7에서 6의 2배인 12를 더한 19까지가 거리가 3이 되며

19에서 6의 3배인 18을 더한 37까지의 거리가 4가 된다.

이 규칙에 따라서 코딩을 진행하면 된다.

 

먼저 반복문에 주요한 변수는 num과 i이다.

num은 특정 거리에서 맨 마지막 수를 나타낸다고 생각하면 된다. 따라서 계속 누적을 해줘야한다는 것이 핵심이다.

i는 거리를 나타낸다고 생각하면 편하다.

 

반복문에서 입력된 N이 num보다 작으면 반복문을 빠져나오게 되며 i를 출력하게 된다.

#include <iostream>

int main() {
	int N;
	std::cin >> N;

	int num = 1;
	int i = 1;

	while (true) {
		if (N <= num) {
			break;
		}
		num += i * 6;
		i++;
	}

	std::cout << i << "\n";
}

 

Comments