서비스 기획자 기록

[백준] 2292번 : 벌집 - Java 본문

백준

[백준] 2292번 : 벌집 - Java

주니5947 2025. 1. 10. 15:05

https://www.acmicpc.net/problem/2292


  • 문제


  • 풀이

가장 안쪽에서 시작해 한겹을 넘어가면 통과해야 하는 방이 하나씩 늘어나는 점을 활용한다.

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int val = 1;
		int count = 1; 
		
		while (true) {
			if (N <= val)
				break;
			val += 6*count;
			count++;
		}
		
		System.out.println(count);
		
		sc.close();
	}
}

 

한 겹이 늘어날 때마다 count값을 1씩 늘린다.

val에 한 겹의 마지막 방에 있는 숫자로 초기화하며 한 겹씩 이동한다.

한겹씩 이동하다 입력받은 숫자보다 커지면 반복을 중단한다.

이동하는 데 필요한 횟수를 출력한다.