package CHAPTER03;

import java.util.Scanner; 

public class LAB03_PyramidBuilder { // 피라미드 층 계산 프로그램 클래스
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); 

        // 사용자 입력 받기
        System.out.print("사용할 벽돌 개수를 입력하세요: ");
        int totalBricks = scanner.nextInt(); // 사용자가 입력한 벽돌 개수

        int i = 1;  // 층수 증가 변수
        int bricksUsed = 0; // 사용한 벽돌 개수 누적 변수
        int pyramidHeight = 0; // 최종 피라미드 높이 변수

        // **피라미드 층 쌓기 계산**
        while (true) { // 무한 루프
            int requiredBricks = (2 * i) - 1; // 현재 층에 필요한 벽돌 개수 (홀수 개씩 증가)

            if (bricksUsed + requiredBricks > totalBricks) { 
                break; // 벽돌이 부족하면 루프 종료
            }

            bricksUsed += requiredBricks; // 사용한 벽돌 개수 갱신
            pyramidHeight = i; // 현재 층을 피라미드 높이로 저장
            i++; // 다음 층으로 증가
        }       
        System.out.printf("%d개의 벽돌 중 %d개를 사용하여 %d층의 피라미드를 쌓을 수 있습니다.\n",
                totalBricks, bricksUsed, pyramidHeight);

        scanner.close(); 
    }
}

