알고리즘 문제

[Implementation] boj 20053 최소, 최대 2 자바

민돌v 2021. 7. 31. 14:04
728x90

최소, 최대 성공

 

 
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 256 MB 745 480 340 66.406%

문제

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

입력

첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다.

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

출력

각 테스트 케이스마다 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 한 줄에 하나씩 차례대로 출력한다.

예제 입력 1 복사

3 5 20 28 22 25 21 5 30 21 17 25 29 5 20 10 35 30 7

예제 출력 1 복사

20 28 17 30 7 35

package implementation;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;

public class boj20053_최소최대2 {
	
	static StringBuilder sb = new StringBuilder();
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		int n = Integer.parseInt(br.readLine());
		
		while(n-->0) {
			int t = Integer.parseInt(br.readLine());
			String temp[] = br.readLine().split(" ");
			
			ArrayList<Integer> s = new ArrayList<Integer>();
			for(String q : temp)
				s.add(Integer.parseInt(q));
			
			Collections.sort(s);
			sb.append(s.get(0)+" "+s.get(t-1)+"\n");
		}
		
		System.out.print(sb.toString());
	}
}
반응형