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을 출력해야한다.
'백준' 카테고리의 다른 글
[백준/java] 15552번 빠른 A+B (0) | 2023.02.06 |
---|---|
[백준/java자바]8958 OX퀴즈 (0) | 2022.09.06 |
[백준/java자바]10951 Scanner클래스 에서 hasNext() (0) | 2022.08.23 |
[백준/java자바]11720 숫자의 합 (0) | 2022.08.23 |
[백준/java자바]11654 아스키코드 (0) | 2022.08.23 |