Algorithm/Baekjoon

[Algorithm/Baekjoon] ๋น—๋ฌผ - 14719 (G5/JAVA)

dpdms2148 2023. 7. 25. 23:24
728x90

๐Ÿ“‘๋ฌธ์ œ๋งํฌ

 

14719๋ฒˆ: ๋น—๋ฌผ

์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” 2์ฐจ์› ์„ธ๊ณ„์˜ ์„ธ๋กœ ๊ธธ์ด H๊ณผ 2์ฐจ์› ์„ธ๊ณ„์˜ ๊ฐ€๋กœ ๊ธธ์ด W๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ H, W ≤ 500) ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” ๋ธ”๋ก์ด ์Œ“์ธ ๋†’์ด๋ฅผ ์˜๋ฏธํ•˜๋Š” 0์ด์ƒ H์ดํ•˜์˜ ์ •์ˆ˜๊ฐ€ 2์ฐจ์› ์„ธ๊ณ„์˜ ๋งจ ์™ผ์ชฝ ์œ„์น˜

www.acmicpc.net

๐Ÿ’ป์ฝ”๋“œ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        st = new StringTokenizer(br.readLine());
        int[] map = new int[M];
        for (int i = 0; i < M; i++) {
            map[i] = Integer.parseInt(st.nextToken());
        }

        int rain = 0;
        for (int i = 1; i < M - 1; i++) {
            //ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ์ตœ๋Œ€ ๋†’์ด ์ฐพ๊ธฐ
            int left = 0;
            for (int j = 0; j < i; j++) {
                left = Math.max(map[j], left);
            }
            int right = 0;
            for (int j = i + 1; j < M; j++) {
                right = Math.max(map[j], right);
            }
            // ํ˜„์žฌ ์œ„์น˜๊ฐ€ ์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ ๋ณด๋‹ค ๋‚ฎ์„ ๋•Œ ๋น—๋ฌผ์–‘ ๊ณ„์‚ฐํ•˜๊ธฐ
            if (map[i] < left && map[i] < right) {
                rain += Math.min(left, right) - map[i];
            }
        }

        System.out.println(rain);
    }
}

โณํšŒ๊ณ 

  • ์ฒ˜์Œ์—” ๋น—๋ฌผ์ด ์Œ“์ด๋Š” ๊ตฌ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ ธ์„œ ๋‹ค์‹œ ์ƒ๊ฐํ–ˆ๋‹ค.
  • ์ „์ฒด ๊ตฌ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋น—๋ฌผ์ด ์Œ“์ผ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์ธ์ง€ ํƒ์ƒ‰ํ•ด์ฃผ์—ˆ๋‹ค.
728x90