본문 바로가기
JAVA/백준 알고리즘

[백준] 108180번 최소, 최대 - Java

by 코딩전사_추추 2022. 4. 13.
728x90
반응형

1. 문제

 

10818번: 최소, 최대

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

www.acmicpc.net

문제

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

입력

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

출력

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

예제 입력 1 복사

5
20 10 35 30 7

예제 출력 1 복사

7 35

2. 문제 풀이

- 처음에 비교할 수의 개수인 n을 입력받는다.

- 길이가 n인 int형 배열을 만든다.

- 배열에 입력받은 n개의 수를 입력한다.

- for문을 돌면서 최댓값 max와 최솟값 min과 비교한다.

- 최댓값보다 크거나, 최솟값보다 작으면 max와 min을 해당 수로 바꿔준다.

- 전부 비교하고 출력해준다.

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 max = arr[0];
		int min = arr[0];
		
		for(int i = 1; i<n; i++) {
			if(max < arr[i]) {
				max = arr[i];
			}
			
			if(min > arr[i]) {
				min = arr[i];
			}
		}
		
		System.out.println(min + " " + max);
	}

}
728x90
반응형