문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
코드
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
int min_arr,max_arr;
for (int i = 0; i < N; i++){
arr[i] = sc.nextInt();
}
min_arr = arr[0];
max_arr = arr[0];
for (int j = 0; j < N; j++){
if (min_arr > arr[j]){
min_arr = arr[j];
}
if (max_arr < arr[j]){
max_arr = arr[j];
}
}
System.out.println(min_arr+" "+max_arr);
sc.close();
}
}
풀이
반복문을 두개 사용해서 문제를 풀었다! 뭔가 코드를 더 짧게 할 수 있을 것 같은데, 일단은 그냥 생각나는데로 문제를 풀었다.
min_arr, max_arr 변수를 사용하고, if문을 통해 해당 조건일 경우 변수들의 값을 갱신하는 방법으로 구현을 했다.
큰 어려움은 없었던 문제.
'Programming > Algorithm' 카테고리의 다른 글
[백준] 2577번 : 숫자의 개수 (Java) (0) | 2021.07.11 |
---|---|
[백준] 2562번 : 최댓값 (Java) (0) | 2021.07.11 |
[백준] 1110번 : 더하기 사이클 (Java) (0) | 2021.07.10 |
[백준] 10951번 : A+B-4 (Java) (0) | 2021.07.10 |
[백준] 10952번 : A+B-5 (Java) (0) | 2021.07.10 |
댓글