본문 바로가기
PS/Baekjoon Online Judge

[백준 11466] Alex Origami Squares [Java]

by kimyoungrok 2025. 2. 15.
728x90

문제

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

 


풀이

주어진 직사각형에서 최대 크기의 정사각형 3개를 만들 때 정사각형 한 변의 최대 길이를 구하는 문제다.

우선, W와 H에 대해 W ≤ H가 되도록 값을 교환하자.

        // Solve
        if (W > H) {
            double temp = W;
            W = H;
            H = temp;
        }

이제 직사각형에 정사각형을 배치할 수 있는 방법은 다음과 같이 두 가지가 존재하다.

  1. 한 줄에 3개의 정사각형 배치
  2. 두 줄로 배치

결국 W와 H에 대해 더 작은 값으로 정사각형을 만들어야 한다.

두 경우에 대해 최솟값을 구해주고, 이 중 더 큰 정사각형의 한 변을 구해주자.

        // Output
        System.out.printf("%.6f", Math.max(Math.min(W, H / 3), Math.min(W / 2, H / 2)));
    }
}

 


소스코드

https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/11466.java

728x90