반응형
https://www.acmicpc.net/problem/2693
2693번: N번째 큰 수
첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000
www.acmicpc.net
- 문제
- 문제 풀이
백준 2693번 N번째 큰 수는 브론즈 1 난이도의 정렬 문제이다. 이 문제에서는 테스트 케이스의 개수 T가 우선 입력으로 주어진다. 그리고 T 줄에서 10개의 수가 주어진다. 이때 각 테스트 케이스마다 3번째로 큰 값을 출력하면 된다.
이 문제에서는 우선 배열에 입력으로 주어지는 10개의 수를 저장하고 배열을 오름차순으로 정렬을 해야 한다. 이 이유는 3번째로 큰 수를 찾아야 하기 때문이다. 따라서, 배열에 수들을 저장하고 Arrays 클래스에 있는 Arrays.sort(배열) 함수로 배열을 오름차순으로 정렬을 해줘야 한다.
이 배열의 크기는 항상 10이다. 따라서 3번째로 큰 수는 7번째 인덱스에 위치해 있다 (가장 큰 수가 9번째 인덱스에 있기 때문이다). 따라서 arr [7]을 출력해주면 된다.
자세한 코드는 밑에 있다.
- 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine()); //테스트 케이스 개수
StringBuilder sb = new StringBuilder();
for (int i = 0; i < t; i++) {
int[] arr = new int[10];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int j = 0; j < 10; j++) {
arr[j] = Integer.parseInt(st.nextToken());
}
Arrays.sort(arr); //배열 오름차순으로 정렬하기
sb.append(arr[7] + "\n"); //3번째로 큰 수
}
System.out.print(sb);
}
}
반응형
'백준' 카테고리의 다른 글
[백준] 9085번 : 더하기 – JAVA [자바] (0) | 2022.08.10 |
---|---|
[백준] 10995번 : 별 찍기 - 20 – JAVA [자바] (0) | 2022.08.10 |
[백준] 10987번 : 모음의 개수 – JAVA [자바] (0) | 2022.08.10 |
[백준] 11365번 : !밀비 급일 – JAVA [자바] (0) | 2022.08.10 |
[백준] 15680번 : 연세대학교 – JAVA [자바] (0) | 2022.08.10 |
댓글