🌞Algorithm/🔥Baekjoon

[Baekjoon] 15044_Fase

뿌야._. 2025. 2. 14. 15:37
문제(출처: 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