더 좋은 문제 풀이가 있거나 궁금하신 점이 있다면 편하게 댓글 남겨주세요!
이번 문제는 기존 입출력에서 풀었던 문제와 알고리즘이 동일하다. 다만 차이가 있다면 정수를 담는 자료형이 배열이라는 것이다. for문을 통해 반복할 횟수를 입력받고 그 수만큼 배열에 정수를 입력해보자.
int N = sc.nextInt();
int arr[] = new int[N];
for(int i = 0; i < N; i++){
arr[i] = sc.nextInt();
}
다음으로 배열에서 가장 큰 정수와 작은 정수를 출력하는 방법이다. 이 문제를 해결하는 방법은 2가지가 있다. 하나는 Arrays 클래스의 sort() 메소드를 이용하는 방식이고, 하나는 직접 배열을 for문을 돌면서 작은 수와 큰수를 비교하는 방법이다.
먼저 for 문을 직접 확인하며 작은 수와 큰수를 N 회 반복하는 방법에 대해 알아보자.
for(int i = 0 ; i< N; i++){
if(arr[i] < min) min = arr[i];
if(arr[i] > max) max = arr[i];
}
다음으로는 Arrays 클래스의 sort() 메소드 를 이용하는 방식을 알아보자.
java.util.Arrays 유틸리티 클래스는 배열(Array)을 정렬, 복제, List로 변환의 작업을 쉽게 처리 할 수 있게 도와준다. 해당 클래스의 sort() 메서드를 사용하면 쉽게 오름차순 정렬이 가능하다.
단, sort()메소드를 사용하기 위해서는 Arrays 유틸리티 클래스를 import 해주어야 한다.
import java.util.Arrays;
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int arr[] = new int[N];
for(int i = 0; i < N; i++){
arr[i] = sc.nextInt();
}
//오름차순 정렬
Arrays.sort(arr);
System.out.print(arr[0] + " " + arr[N - 1]);
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int arr[] = new int[N];
for(int i = 0; i < N; i++){
arr[i] = sc.nextInt();
}
int min = arr[0];
int max = arr[0];
for(int i = 0 ; i< N; i++){
if(arr[i] < min) min = arr[i];
if(arr[i] > max) max = arr[i];
}
System.out.print( min + " " + max);
}
}