๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๋ฐฑ์ค€

[๋ฐฑ์ค€/Java] 10818 ์ตœ์†Œ, ์ตœ๋Œ€ (์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•)

by ๋ฝ€์งœ๊ผฌ 2025. 1. 19.
728x90
๋ฐ˜์‘ํ˜•
๋ฐฑ์ค€

๋ฌธ์ œ

N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” N๊ฐœ์˜ ์ •์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ฃผ์–ด์ง„๋‹ค. ๋ชจ๋“  ์ •์ˆ˜๋Š” -1,000,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค.

5
20 10 35 30 7

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง„ ์ •์ˆ˜ N๊ฐœ์˜ ์ตœ์†Ÿ๊ฐ’๊ณผ ์ตœ๋Œ“๊ฐ’์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

7 35

 

์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

์ด์™• ํ•˜๋Š”๊น€์—..

 

๋ฐฉ๋ฒ•1. for๋ฌธ ์ด์šฉํ•˜๊ธฐ

import java.io.*;
import java.util.StringTokenizer;

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

        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] arr = new int[N];

        for (int i = 0; i < N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }
        int max = arr[0];
        int min = arr[0];

        for (int i = 1; i < N; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
            if (arr[i] < min) {
                min = arr[i];
            }
        }

        System.out.println(min +" "+max);
    }
}

 

๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„

๊ทธ๋ƒฅ ์ •๋ง ์ •์„์œผ๋กœ ๋ฐฐ์—ด์˜ ๊ฐ’์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋น„๊ตํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š”๊ฑฐ๋‹ค.

์•„์ด๋Ÿฌ๋‹ˆํ•˜๊ฒŒ ์ด๊ฒŒ ์ œ์ผ ์‹œ๊ฐ„์ด ์งง์•˜๋‹ค.


๋ฐฉ๋ฒ•2. Java 8 Stream ์ด์šฉํ•˜๊ธฐ

import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

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

        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] arr = new int[N];

        for (int i = 0; i < N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }

        int max = Arrays.stream(arr).max().getAsInt();
        int min = Arrays.stream(arr).min().getAsInt();

        System.out.println(min +" "+max);
    }
}

 

๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์–ด์„œ ์จ๋ณด์•˜๋‹ค.

  • Arrays.stream(numbers)๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์„ ์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณ€ํ™˜
  • max()์™€ min() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ๊ฐ ์ตœ๋Œ“๊ฐ’๊ณผ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ๋Š”๋‹ค
  • ๊ฒฐ๊ณผ๋Š” OptionalInt ํƒ€์ž…์ด๋ฏ€๋กœ getAsInt()๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค

 

๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„


๋ฐฉ๋ฒ•3. ์ •๋ ฌ ์‚ฌ์šฉํ•˜๊ธฐ

import java.io.*;
import java.util.StringTokenizer;
import java.util.Arrays;

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

        StringTokenizer st = new StringTokenizer(br.readLine());
        int[] arr = new int[N];

        for (int i = 0; i < N; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(arr);

        int min = arr[0];
        int max = arr[arr.length - 1];

        System.out.println(min +" "+max);
    }
}

 

๊ทธ๋ƒฅ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•œ ๋‹ค์Œ์—, 

์ œ์ผ ์•ž์€ ์ตœ์†Ÿ๊ฐ’ ์ œ์ผ ๋’ค๋Š” ์ตœ๋Œ“๊ฐ’์ž„์„ ์ด์šฉํ•ด์„œ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์™€ ์‹œ๊ฐ„

 

ํ—ค์—‘ ๊ทผ๋ฐ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค.. ์„ธ์ƒ์—๋‚˜


์™ธ์ „4. ๋ฐฐ์—ด ๊ผญ ์จ์•ผํ•˜๋‚˜?

import java.io.*;
import java.util.StringTokenizer;

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

        StringTokenizer st = new StringTokenizer(br.readLine());
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;

        for (int i = 0; i < N; i++) {
            int num = Integer.parseInt(st.nextToken());
            if (num > max) {
                max = num;
            }
            if (num < min) {
                min = num;
            }
        }

        System.out.println(min +" "+max);
    }
}

 

๋ฐฐ์—ด์“ฐ๋Š”๊ฒŒ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์•„์„œ ๋นผ๋ฒ„๋ฆฐ ๋ฒ„์ „์ด๋‹ค.

int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;

 

์ด๋ ‡๊ฒŒ ์จ์•ผ๋˜๋”๋ผ.. 

728x90
๋ฐ˜์‘ํ˜•