[백준] 2693번: N번째 큰 수 (JAVA)
2022. 1. 3. 21:27ㆍ알고리즘
https://www.acmicpc.net/problem/2693
문제설명
10개의 숫자들을 정렬해서 3번째로 큰 값을 구하는 문제이다.
코드
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < t; i++) {
list.clear();
for (int j = 0; j < 10; j++) {
list.add(sc.nextInt());
}
Collections.sort(list);
System.out.println(list.get(7));
}
}
}
코드설명
테스트케이스의 개수 t를 입력받고 t만큼 for문, 그리고 10개의 숫자들을 입력받을 것이기 때문에 0부터 10까지의 for문을 돌린다.
그리고 입력받은 10개의 숫자들을 ArrayList안에다가 넣어서 정렬시킨다.
그러면 오름차순으로 정렬이 되어 나오는데, 우리는 3번째로 큰 값을 알아야하기 때문에 7번째의 인덱스를 가져와서 출력한다.
그리고 list.clear()를 하지 않으면 list에 계속해서 값이 쌓여서 출력이 엉뚱하게 나온다.
'알고리즘' 카테고리의 다른 글
[백준] 1850번: 최대공약수 (0) | 2022.01.09 |
---|---|
[백준] 10828번: 스택 (0) | 2022.01.08 |
[백준] 12605번: 단어순서 뒤집기 (JAVA) (2) | 2022.01.06 |
[백준] 7785번: 회사에 있는 사람(JAVA) (1) | 2022.01.04 |
[백준] 24039번: 2021은 무엇이 특별할까? (0) | 2022.01.03 |