백준

[백준/java자바]2292 벌집

꿈꾸는야오옹 2022. 9. 7. 17:47

import java.util.Scanner;

public class BackMath01_2292 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int result = 0;
		
		for(int i=0; i<10000000 ; i++) {
		
			if(n <= 1+i*(3*(i+1))) {
				result = i+1;
				break; // break 위치는 if 조건을 만족하여 result 값이 확정되면 for문이 멈춰야 하므로
			}

		}
		System.out.println(result);

	}

}

 

벌집 모양의 규칙을 줄 바뀌기 전의 마지막 숫자의 수열로 찾아보자.

 

줄 i가 증가하며 바뀔 때 마지막 숫자를 기준으로 i=0 일때 1, i=1 일때 7, i=2 일때 19 의 규칙을 갖는다. 마지막 숫자 n에 대한 수열은 n = 1 + i*(3*(i+1)) 이다. 그리고 마지막 숫자보다 작은 숫자들은 마지막 숫자 n과 같은 줄 i+1을 갖는다.

 

우리가 찾는 것은 몇개의 방, 즉 몇번째 줄이냐이므로 i+1을 출력해야한다.