๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

 

 

๐Ÿง‘๐Ÿป‍๐Ÿ’ปํ’€์ด ๊ณผ์ •

 

๊ธฐํ•˜ํ•™ ๋ฌธ์ œ๋Š” ๋งŽ์ด ํ’€์–ด๋ณด์ง€ ์•Š์•„์„œ ๊ทธ๋Ÿฐ๊ฐ€, ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ๋งŒ ๋” ์ƒ๊ฐํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ์‹œ๊ฐ„์ด ๋Šฆ์–ด ๋„ˆ๋ฌด ํ”ผ๊ณคํ•œ ๋‚˜๋จธ์ง€ ํžŒํŠธ๋ฅผ ์‚ด์ง ๋ดค๋„ค์š”... ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋” ํƒ„ํƒ„ํ•˜๊ฒŒ ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“  ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค.

 

๋ฌธ์ œ์—์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ์ฐธ์™ธ๋ฐญ์˜ ๋ชจ์–‘์€ , , , ๋กœ ์ด 4๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฐธ์™ธ๋ฐญ์€ ๊ฐ€๋กœ์™€ ์„ธ๋กœ ๋ชจ๋‘ ๊ฐ€์žฅ ๊ธด ๊ธธ์ด์˜ ๋ณ€์ด ์žˆ๊ณ , ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง€๋Š” ์ •๋ณด๋Š” ํ•ญ์ƒ ๋ฐ˜์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ฐ€๋กœ๊ฐ€ ๋‚˜์™”๋‹ค๋ฉด ๋‹ค์Œ์€ ์„ธ๋กœ, ์„ธ๋กœ๊ฐ€ ๋‚˜์™”๋‹ค๋ฉด ๋‹ค์Œ์€ ๊ฐ€๋กœ ๋ฐฉํ–ฅ์ด๋ผ๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•ด์ค๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ์ƒ๊ฐํ•ด๋ณผ ๋•Œ, ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๋ฐฉํ–ฅ์ด ๋งŒ์•ฝ ๊ฐ€๋กœ๋ผ๋ฉด ํ•ด๋‹น ๋ณ€์˜ ์ „๋ณ€๊ณผ ํ›„๋ณ€์€ ์„ธ๋กœ ๋ฐฉํ–ฅ์ด๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ์ด ์ „๋ณ€๊ณผ ํ›„๋ณ€์˜ ๊ธธ์ด ์ฐจ์ด๊ฐ€ ๊ณง ์ „์ฒด ์‚ฌ๊ฐํ˜• ๋„“์ด์—์„œ ์ž˜๋ผ๋‚ด์•ผ ํ•  ์‚ฌ๊ฐํ˜•์˜ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๋œ๋‹ค๋Š” ๊ฑฐ์ฃ .

 

 

๊ฐ€๋กœ ๋ฐฉํ–ฅ์˜ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๋Š” 160์ด๋ฉฐ, ์ด ๋ณ€์˜ ์ „๋ณ€์€ 30, ํ›„๋ณ€์€ 50 ๊ธธ์ด์˜ ์„ธ๋กœ ๋ฐฉํ–ฅ ๋ณ€์ž…๋‹ˆ๋‹ค. ์ด๋•Œ, ์ „๋ณ€๊ณผ ํ›„๋ณ€์˜ ๊ธธ์ด ์ฐจ์ด์ธ \(50 - 30 =  20\)์ด ๊ณง ์ž˜๋ผ๋‚ด์•ผ ํ•  ์‚ฌ๊ฐํ˜•์˜ ์„ธ๋กœ ๊ธธ์ด๊ฐ€ ๋˜์ฃ .

 

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„ธ๋กœ ๋ฐฉํ–ฅ์˜ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๋Š” 50์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ณ€์˜ ์ „๋ณ€์€ 160, ํ›„๋ณ€์€ 100์ด๋ฉฐ ์ด ๋‘˜์˜ ์ฐจ์ด๋Š” 60์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ž˜๋ผ๋‚ด์•ผ ํ•  ์‚ฌ๊ฐํ˜•์˜ ๋„“์ด๋Š” \(60 \times 20 = 1200\)์ด๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์ฃ .

 

์ด๋Ÿฌํ•œ ๋ฐฉ์‹์„ ํ† ๋Œ€๋กœ ์ฐธ์™ธ๋ฐญ ๋„“์ด๋ฅผ ๊ตฌํ•ด K๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

โœ๏ธ์†Œ์Šค์ฝ”๋“œ

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class BOJ2477 {
    private static int K;
    private static int[] Lengths;

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int K = Integer.parseInt(br.readLine());
        Lengths = new int[6];

        // 1:๋™์ชฝ, 2:์„œ์ชฝ, 3:๋‚จ์ชฝ, 4:๋ถ์ชฝ
        int maxHorizontalLength = 0, maxVerticalLength = 0;
        int maxHorizontalIndex = -1, maxVerticalIndex = -1;

        for (int i = 0; i < 6; i++) {
            String[] input = br.readLine().split(" ");
            int direction = Integer.parseInt(input[0]);
            Lengths[i] = Integer.parseInt(input[1]);

            // ๊ฐ€๋กœ ๋ฐฉํ–ฅ ์ตœ๊ณ  ๊ธธ์ด์™€ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ
            if (direction <= 2 && maxHorizontalLength < Lengths[i]) {
                maxHorizontalLength = Lengths[i];
                maxHorizontalIndex = i;
            } else if (direction > 2 && maxVerticalLength < Lengths[i]){
                maxVerticalLength = Lengths[i];
                maxVerticalIndex = i;
            }
        }

        // ๋นผ์•ผ ํ•  ์‚ฌ๊ฐํ˜• ๊ฐ€๋กœ ์„ธ๋กœ ๊ธธ์ด ์ฐพ๊ธฐ (๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ์–‘ ์ชฝ ๋ณ€ ์ฐจ์ด๊ฐ€ ์ž‘์€ ์‚ฌ๊ฐํ˜•์˜ ๋ณ€์˜ ๊ธธ์ด)
        int minHorizontalLength = -1, minVerticalLength = -1;

        for (int i = 0; i < 6; i++) {
            int previous = (i - 1) < 0 ? 5 : i - 1;
            int next = (i + 1) >= 6 ? 0 : i + 1;

            if (i == maxHorizontalIndex) {
                minHorizontalLength = Math.abs(Lengths[previous] - Lengths[next]);
            } else if (i == maxVerticalIndex) {
                minVerticalLength = Math.abs(Lengths[previous] - Lengths[next]);
            }
        }

        int groundArea = (maxHorizontalLength * maxVerticalLength) - (minHorizontalLength * minVerticalLength);
        int answer = K * groundArea;
        System.out.println(answer);
        br.close();
    }
}

 

728x90
๋ฐ˜์‘ํ˜•