๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽฏPS - Baekjoon, etc/๊ทธ๋ฆฌ๋””

[์ด๊ฒƒ์ด ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋‹ค] ์ˆซ์ž ์นด๋“œ ๊ฒŒ์ž„ (Java)

by hyeon-z 2023. 2. 26.

์‹œ๊ฐ„์ œํ•œ

1์ดˆ

 

๋ฌธ์ œ

์ˆซ์ž ์นด๋“œ ๊ฒŒ์ž„์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆซ์ž ์นด๋“œ ์ค‘์—์„œ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž๊ฐ€ ์“ฐ์ธ ์นด๋“œ ํ•œ ์žฅ์„ ๋ฝ‘๋Š” ๊ฒŒ์ž„์ด๋‹ค.
๋‹จ๏ผŒ๊ฒŒ์ž„์˜ ๋ฃฐ์„ ์ง€ํ‚ค๋ฉฐ ์นด๋“œ๋ฅผ ๋ฝ‘์•„์•ผ ํ•˜๊ณ  ๋ฃฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. ์ˆซ์ž๊ฐ€ ์“ฐ์ธ ์นด๋“œ๋“ค์ด N x M ํ˜•ํƒœ๋กœ ๋†“์—ฌ ์žˆ๋‹ค. ์ด๋•Œ N์€ ํ–‰์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, M์€ ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
2. ๋จผ์ € ๋ฝ‘๊ณ ์ž ํ•˜๋Š” ์นด๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํ–‰์„ ์„ ํƒํ•œ๋‹ค.
3. ๊ทธ๋‹ค์Œ ์„ ํƒ๋œ ํ–‰์— ํฌํ•จ๋œ ์นด๋“œ๋“ค ์ค‘ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘์•„์•ผ ํ•œ๋‹ค.
4. ๋”ฐ๋ผ์„œ ์ฒ˜์Œ์— ์นด๋“œ๋ฅผ ๊ณจ๋ผ๋‚ผ ํ–‰์„ ์„ ํƒํ•  ๋•Œ๏ผŒ์ดํ›„์— ํ•ด๋‹น ํ–‰์—์„œ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ๊ฒƒ์„ ๊ณ ๋ คํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž์˜ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋„๋ก ์ „๋žต์„ ์„ธ์›Œ์•ผ ํ•œ๋‹ค.

์นด๋“œ๋“ค์ด N x M ํ˜•ํƒœ๋กœ ๋†“์—ฌ ์žˆ์„ ๋•Œ๏ผŒ๊ฒŒ์ž„์˜ ๋ฃฐ์— ๋งž๊ฒŒ ์นด๋“œ๋ฅผ ๋ฝ‘๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ์‹œ์˜ค.

 

์ž…๋ ฅ

- ์ฒซ์งธ ์ค„์— ์ˆซ์ž ์นด๋“œ๋“ค์ด ๋†“์ธ ํ–‰์˜ ๊ฐœ์ˆ˜ N๊ณผ ์—ด์˜ ๊ฐœ์ˆ˜ M์ด ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜์—ฌ ๊ฐ๊ฐ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง„๋‹ค.

  (1 < N, M < 100)
- ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ์นด๋“œ์— ์ ํžŒ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์ˆซ์ž๋Š” 1 ์ด์ƒ 10,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค

์ž…๋ ฅ ์˜ˆ์‹œ

3 3
3 1 2
4 1 4
2 2 2

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๊ฒŒ์ž„์˜ ๋ฃฐ์— ๋งž๊ฒŒ ์„ ํƒํ•œ ์นด๋“œ์— ์ ํžŒ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ถœ๋ ฅ ์˜ˆ์‹œ

2

๋ฌธ์ œ ํ’€์ด ๊ณผ์ •

์ด N๊ฐœ์˜ ํ–‰์ด๊ณ  ๊ฐ ํ–‰๋งˆ๋‹ค M๊ฐœ์˜ ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค.

๋ฌธ์ œ์˜ 3๋ฒˆ ๊ทœ์น™์„ ์‚ดํŽด๋ณด์ž.

๊ทธ๋‹ค์Œ ์„ ํƒ๋œ ํ–‰์— ํฌํ•จ๋œ ์นด๋“œ๋“ค ์ค‘ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฝ‘์•„์•ผ ํ•œ๋‹ค.

๊ฐ ํ–‰์˜ ๊ฐ€์žฅ ์ˆซ์ž๊ฐ€ ๋‚ฎ์€ ์นด๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ๋ฝ‘์•„์•ผ ํ•œ๋‹ค.

 

Math.min() ์‚ฌ์šฉ 

Math.min(int a, int b): a, b ์ค‘ ๋” ์ž‘์€ ์ˆ˜๋ฅผ return

์œ„ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ ํ–‰์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•œ๋‹ค.

 

๋ฌธ์ œ์˜ 4๋ฒˆ ๊ทœ์น™์„ ์‚ดํŽด๋ณด์ž.

์ตœ์ข…์ ์œผ๋กœ ๊ฐ€์žฅ ๋†’์€ ์ˆซ์ž์˜ ์นด๋“œ๋ฅผ ๋ฝ‘์„ ์ˆ˜ ์žˆ๋„๋ก ์ „๋žต์„ ์„ธ์›Œ์•ผ ํ•œ๋‹ค.

 

Math.max() ์‚ฌ์šฉ

Math.max(int a, int b): a, b ์ค‘ ๋” ํฐ ์ˆ˜๋ฅผ return

์œ„ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ ํ–‰์˜ ์ตœ์†Ÿ๊ฐ’๋“ค ์ค‘ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•œ๋‹ค.


์ฒ˜์Œ ์ฝ”๋“œ

public class TC_3_2 {
    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());

        int[][] numArr = new int[N][M];
        int max = 0;
        int nMin;

        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            nMin = 10000;

            for (int j = 0; j < M; j++) {
                numArr[i][j] = Integer.parseInt(st.nextToken());
                if (nMin > numArr[i][j]) {
                    nMin = numArr[i][j];
                }
            }
            if (max < nMin) {
                max = nMin;
            }
        }

        System.out.println(max);
    }
}

์ฒ˜์Œ์— 2์ฐจ์› ๋ฐฐ์—ด์˜ ํ˜•ํƒœ์ธ ๊ฒƒ์„ ๋ณด๊ณ  ๋ฐฐ์—ด์„ ์„ ์–ธํ•˜์—ฌ ๊ตฌํ˜„ํ–ˆ์œผ๋‚˜ ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์„ ๋•Œ๋งˆ๋‹ค ๋น„๊ตํ•˜์—ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ตฌํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ฐฐ์—ด์— ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ  ์ˆ˜์ •ํ–ˆ๋‹ค.

 

์ˆ˜์ •ํ•œ ์ฝ”๋“œ

public class TC_3_2 {
    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());
        int max = 0;

        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            int nMin = 10001;

            for (int j = 0; j < M; j++) {
                nMin = Math.min(nMin, Integer.parseInt(st.nextToken()));
            }
            max = Math.max(max, nMin);
        }

        System.out.println(max);
    }
}

 

 

Reference

์ด๊ฒƒ์ด ์ทจ์—…์„ ์œ„ํ•œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋‹ค - ๋‚˜๋™๋นˆ

๋Œ“๊ธ€