본문 바로가기

알고리즘 문제풀이/JAVA 알고리즘 문제풀이

백준(BaekJoon) 10818번 1차원 배열_최소, 최대

문제

https://www.acmicpc.net/problem/10818

 

10818번: 최소, 최대

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

www.acmicpc.net

 


package baekjoon_5;
import java.util.Scanner;

public class Array_1 {

	public static void main(String[] args) {
		//get N
		Scanner input = new Scanner(System.in);
		System.out.println("배열의 길이 N을 입력하세요:");
		int N = input.nextInt();
		while(N < 1 || N > 1000000) {
			System.out.println("배열의 길이 N을 다시 입력하세요:");
			N = input.nextInt();
		}
		
		//get Array
		int Narray[] = new int [N];
		System.out.println("N개의 숫자를 입력하세요: ");
		for(int i = 0 ; i < Narray.length ; i++) {
			Narray[i] = input.nextInt();
		}
		
		//find minimum
		int min = 0;
		int min_compare = 0;
		for(int i = 0 ; i < Narray.length ; i++) {
			if(Narray[min] <= Narray[min_compare]) {
				min_compare++;
			}
			else {
				min = min_compare;
				min_compare++;
			}
		}
		
		//find maximum
		int max = 0;
		int max_compare = 0;
		for(int i = 0 ; i < Narray.length ; i++) {
			if(Narray[max] >= Narray[max_compare]) {
				max_compare++;
			}
			else {
				max = max_compare;
				max_compare++;
			}
		}
		
		//print
		System.out.print(Narray[min] + " " + Narray[max]);

	}

}