728x90
백준 단계별 문제풀이 4단계 (1차원 배열)
https://www.acmicpc.net/problem/10818
# 문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
# 예제
입력 - 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
5
20 10 35 30 7
출력
7 35
# 필요개념
for문이랑 max 변수 만들어서 if문 이용하면 구현 가능할 거 같지만 또 스트림을 이용했다.
자바의 스트림은 max, min 메소드를 지원해주기 때문에 변수를 별도로 설정하지 않아도 된다!
stream의 min, max 메소드는 반환형이 Optional 객체이기 때문에, int형으로 형 변환 과정을 거쳐야 한다. 스트림에서 int로의 형변환은 getAsInt() 메소드를 사용한다.
# Code
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];
for (int i = 0 ; i < n ; i++) {
arr[i] = sc.nextInt();
}
System.out.print(Arrays.stream(arr).min().getAsInt() + " " + Arrays.stream(arr).max().getAsInt());
}
}
# 결과
'코딩테스트 > 백준 브론즈,실버' 카테고리의 다른 글
[백준] 3052 : 나머지 (distinct() 메소드) - JAVA (0) | 2024.01.14 |
---|---|
[백준] 10813 : 공바꾸기 (setAll() 메소드) - JAVA (0) | 2024.01.14 |
[백준] 10807 : 개수 세기 (Stream 이용하기) - JAVA (0) | 2024.01.09 |
[백준] 2439 : 별찍기 - JAVA (0) | 2024.01.08 |
[백준] 15552 : 빠른 A+B (BufferReader, BufferWriter 사용하기) - JAVA (4) | 2024.01.08 |