https://www.acmicpc.net/problem/2292
1. 아이디어
벌집의 번호와 이동에 필요한 방의 수를 점화식을 세워서 해결할 수 있다.
2. 문제풀이
1칸 이동해서 갈 수 있는 최대 번호는 1번, 2칸 이동해서 갈 수 있는 최대 번호는 7번, 3칸 이동해서 갈 수 있는 최대 번호는 19번, 이렇게 규칙성을 찾다보면 N칸 이동해서 갈 수 있는 최대 번호를 An 이라 할 때 An = 3 * N * (N - 1) + 1이 됨을 알 수 있다.
무한 루프를 활용해서 N의 값을 찾는 방식으로 구현했다.
3. 코드
import java.io.*;
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 n = 1;
while ((3 * n * (n - 1) + 1) < N) {
n++;
}
System.out.println(n);
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 1371번 - 가장 많은 글자 [Java] (0) | 2025.01.06 |
---|---|
[백준] 5354번 - J박스 [Java] (0) | 2025.01.06 |
[백준] 8958번 - OX퀴즈 [Java] (0) | 2025.01.06 |
[백준] 2163번 - 초콜릿 자르기 [Java] (0) | 2025.01.06 |
[백준] 2565번 - 전깃줄 [Java] (0) | 2025.01.05 |