마침 그림이 있어서 쉽게 규칙을 파악할 수 있었다. 한 개의 방을 지날 때에는 1, 두 개의 방을 지날 때는 2부터 7, 세 개의 방은 8부터 19, 네 개는 20부터 37, 그 다음은 38부터 61... 이걸 개수로 따져보면 아래와 같다.
1 : 1
2 : 6
3 : 12
4 : 18
5 : 24
6 : 30
.
.
.
이걸 코드로 구현해보자. 직관적으로 빼는 수를 6씩 늘려가며 0보다 작거나 같아질 경우 루프를 끝내게 했다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int i = 0;
if (n == 1) {
System.out.println(1);
} else {
n =- 1;
while (n > 0) {
n -= i * 6;
i++;
}
System.out.println(i);
}
}
}