도라에몽 개발자

백준(BAEKJOON) - 10818번: 최소, 최대 (Java) ***Arrays.sort() 본문

ALGORITHM/백준(BAEKJOON)

백준(BAEKJOON) - 10818번: 최소, 최대 (Java) ***Arrays.sort()

Doraemon_lulu 2023. 12. 12. 15:49

10818번 문제

 

 

Scanner 클래스 및 배열 활용

- Scanner 클래스 사용하여 입력 받음.

- 배열 및 for문 통해 입력된 N개의 값을 저장함.

- Arrays 클래스의 sort() 메서드 통해 배열 정렬 후 최소값 및 최대값 확인함.

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    	Scanner sc = new Scanner(System.in);
    	
    	int N = sc.nextInt();
    	int[] numbers = new int[N];
    	
    	for (int i = 0; i < N; i++) {
    		numbers[i] = sc.nextInt();
    	}
        
    	sc.close();
        
    	Arrays.sort(numbers);
    	System.out.println(numbers[0] + " " + numbers[N-1]);
    }
}

Scanner 활용

→ BufferedReader 및 StringBuilder 활용할 때보다 메모리 사용 및 소요 시간 2배 정도로 높은 편임을 알 수 있음.

 

 

BufferedReader, StringBuilder, StringTokenizer, 배열 활용

- BufferedReader 통해 입력 받음.
- 배열 및 for문 통해 입력된 N개의 값을 저장함. (StringTokenizer 통해 공백을 기준으로 값을 잘라 저장 가능함.)

- Arrays 클래스의 sort() 메서드 통해 배열 정렬 후 최소값 및 최대값 확인함.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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));
    	StringBuilder sb = new StringBuilder();
    	
    	int N = Integer.parseInt(br.readLine());
    	
    	int[] numbers = new int[N];
    	StringTokenizer st = new StringTokenizer(br.readLine());  	
    	
    	for (int i = 0; i < N; i++) {
    		numbers[i] = Integer.parseInt(st.nextToken());
    	}
    	
    	Arrays.sort(numbers);
        System.out.print(numbers[0] + " " + numbers[N-1]);
    }
}

 


 

Arrays 클래스의 sort() 메서드 통해 배열 정렬 후 최소값 및 최대값 확인

- Array 클래스의 sort()는 배열을 정렬해주는 기능을 함.

- arr[0], ..., arr[n]의 경우, 작은값에서 큰값 순으로 정렬됨.