문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

 

출력

첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

 

 

 

풀이

1차원 배열 단계 문제!

JAVA는 처음이라 배열을 어떻게 선언하는지 자세히는 몰랐는데.. 아래와 같이 선언하면 된다고 한다.

 

자료형[] 배열이름 = new 자료형[크기]

 

맨 처음 정수의 개수 N을 입력받아 주고, 

N개의 정수 배열을 선언한 다음 값을 넣었다. // int[] nums  = new int[N];

 

그리고 최소, 최대값 (min, max)을 비교해서 찾아주면 끝

 

 

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class Main{
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        
        int N        = scan.nextInt();
        int[] nums     = new int[N];
        
        for (int i=0; i<N; i++)
            nums[i] = scan.nextInt();
                
        int max = nums[0], min = nums[0];
        
        for (int i=0; i<N; i++) {
            if (nums[i] > max) max = nums[i];
            if (nums[i] < min) min = nums[i];
        }
        
        System.out.print(min+" "+max);
        
        scan.close();
    }
}
cs

+ Recent posts