728x90

 

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

 

10818번: 최소, 최대

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

www.acmicpc.net

 

 

문제가 기초적이면서도 초보자들에겐 버벅거릴수 있는 문제입니다. 

 

 

 

배열을 사용할때 배열값은 Scanner받아서 지정해주면되는데 배열안에 숫자는 어떻게 넣을까?

import java.util.Scanner;

public class Main11 {

	public static void main(String[] args) {

		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();

		int[] num=new int[a];
		
		for(int i=0; i<num.length; i++) {
        
        }

 

이상황에서 a값을 배열안에 넣어주면 배열의 길이는 쉽게 정하실수있습니다. 

 

이제 배열안에 들어갈 값은 어떻게 정해야할까요?

 

쉽습니다. 

int i를 배열에다가 선언하고 sc로 받아주면됩니다. 

num[i]=sc.nextInt();

다시 문제로 돌아가서 답을 드리자면......

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

public class Main11 {

	public static void main(String[] args) {

		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();

		int[] num=new int[a];
		
		for(int i=0; i<num.length; i++) {
			num[i]=sc.nextInt();

		}
		Arrays.sort(num);
		
		System.out.println(num[0]+ " "+ num[a-1]);
	}
}

배열안에 넣을값까지 식을 세웠다면 그 숫자들중에 최소값과 최대값을 알아볼 차례입니다.

 

배열안의 뒤죽박죽으로 되어있는 숫자를 먼저 Arrays.sort();로 정렬해줍니다.

 

 Arrays.sort는 배열안에 숫자를 낮은순으로 정렬해주는데 쓰입니다.

 

낮은순으로 정렬해준 상태에서 

num[0]<-즉 배열의 첫번째를 꺼내오고 마지막 최대값으로 num[a-1]을 선언해줍니다. 

 

nextInt(a)가 반환하는것은 0부터 a-1까지의 난수입니다.  

 

 

 

값을 추출해보겠습니다.

이해가 가시나요?

 

 

 

728x90

'문제풀이 > 백준' 카테고리의 다른 글

8958번 백준 자바 문제 풀이  (0) 2022.03.14
백준 1546번 자바  (0) 2022.03.09
백준 2884 번 자바 문제 풀이- 알람 시계  (0) 2022.01.27
정수 배열 최대값  (0) 2022.01.11
SQL - 변환 함수  (0) 2021.12.28
복사했습니다!