- 벌집 문제는 수학 문제이다.
- 숫자가 증가함에 따라 몇개의 방을 지나가는지를 카운트하면 된다.
1 = 1
2~7 = 2
8~19 = 3
20~37 = 4
38~61 = 5
62~91 = 6
...
위와 같이 숫자가 증가함에 따라 방 카운트가 정해지므로, 입력 N이 어느 범위에 들어가는지만 체크하면 해결할 수 있는 문제이다.
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
int N = Integer.parseInt(stringTokenizer.nextToken());
int count = 1;
int number = 1;
while (true) {
if (N == 1) {
System.out.println(1);
return;
}
number += 6 * count;
if (N <= number) {
break;
}
count++;
}
System.out.println(++count);
}
}