🎁 문제 링크
https://www.acmicpc.net/problem/25305
🎁 문제 설명
2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 ' 명의 학생들이 응시했다.
이들 중 점수가 가장 높은 'N'명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.
커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.
🎁 문제 예시
🎁 코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
LinkedList<Integer> link = new LinkedList<>();
int person = Integer.parseInt(st.nextToken());
int cut = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
for (int i = 0; i < person; i++) {
link.add(Integer.parseInt(st.nextToken()));
}
link.sort(Comparator.reverseOrder());
int count = 0;
int result = 0;
while(!link.isEmpty()){
if(count == cut){
break;
}
result = link.poll();
count++;
}
System.out.println(result);
}
}
🎁 풀이
1) BufferedReader를 통해 입력 값을 받는다
2) 첫 줄에 받은 값을 StringTokenizer를 통해서 첫 줄의 처음은 갯수, 첫 줄의 두 번째는 추출해야하는 카운트로 정한다.
3) 다음 줄을 읽고, list에 값을 넣어준다음, 내림차순으로 정렬을 한다.
4) list에서 값을 꺼낼때마다 카운트를 증가시켜 추출해야하는 카운트와 동일할 때 while문을 빠져나와 값을 도출한다.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 10815번 : 숫자 카드 [Java] (0) | 2023.08.27 |
---|---|
백준 10773번: 제로 [Java] (0) | 2023.08.24 |
백준 3052번: 나머지 [Java] (0) | 2023.08.17 |
댓글