더 좋은 문제 풀이가 있거나 궁금하신 점이 있다면 편하게 댓글 남겨주세요!
숫자 N 이 벌집의 몇 겹째에 있는지 물어보는 문제이다.
벌집 그림을 살펴보면 아래와 같이 벌집의 겹수가 범위로 주어져 있다.
1 -> 1겹
2 ~ 7 -> 2겹
8 ~ 19 -> 3겹
20 ~ 38 -> 4겹
39 ~ 62 -> 5겹
여기서 알 수 있는 사실은 벌집의 겹수가 1, 7, 19, 38, 62 로 6의 배수만큼 늘어난다는 것이다.
즉, 겹마다 늘어나는 범위는 몇번째 겹인지 * 6이다.
이를 코드로 작성해보자.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt(); //숫자 N
int range = 1 ; //벌집의 범위
int cnt = 1; // 벌집의 겹수
while(N > range){
range = range + cnt * 6;
cnt ++;
}
System.out.println(cnt);
}
}