문제(출처: https://www.acmicpc.net/problem/15044)
< Fase >
문제 풀이
ArrayList를 내림차순으로 정렬하여 다음 단계로 갈 수 있는 경쟁자 수를 구한다.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
public class _15044_ { // Fase
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
int k = Integer.parseInt(bf.readLine());
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < n; i++) {
list.add(Integer.parseInt(bf.readLine()));
}
Collections.sort(list, Collections.reverseOrder());
int result = 0, num = list.get(0);
for (int i = 0; i < n; i++) {
if (num == list.get(i)) {
result += 1;
} else {
if (result >= k) {
break;
}
num = list.get(i);
result += 1;
}
}
System.out.println(result);
}
}
변수)
n : 경쟁자 수
k : 최소 참가자 수
list : ArrayList <String>
result : 다음 단계로 갈 수 있는 경쟁자 수
경쟁자 수 n과 최소 참가자 수 k를 입력받는다. 경쟁자 수만큼 점수를 입력받아 ArrayList에 저장한다. 최소 참가자 수를 구하기 위해 ArrayList를 내림차순으로 정렬한다. ArrayList를 살펴보며 최소 참가자 수를 구한다. 이때 동점자들은 전원 자격을 얻는다.
'🌞Algorithm > 🔥Baekjoon' 카테고리의 다른 글
[Baekjoon] 15081_Is Everybody Appy? (0) | 2025.02.13 |
---|---|
[Baekjoon] 4408_Election (0) | 2025.02.12 |
[Baekjoon] 4368_Babelfish (0) | 2025.02.11 |
[Baekjoon] 4675_Word Amalgamation (0) | 2025.02.10 |
[Baekjoon] 18706_Coffee (0) | 2025.02.07 |