본문 바로가기
IT/알고리즘(Algorithm)

[JAVA]백준 25305번 문제 풀이

by 공부하는개미 2022. 11. 15.

# 문제 출제 사이트

https://www.acmicpc.net/problem/25305

 

25305번: 커트라인

시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다.

www.acmicpc.net

 

# 문제

2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다.

이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.

커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.

 

# 입력

첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다.

둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다.

 

# 출력

상을 받는 커트라인을 출력하라.

 

 

# 제출한 소스코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String inputStr = br.readLine();
        StringTokenizer st = new StringTokenizer(inputStr, " ");
        int N = Integer.parseInt(st.nextToken());
        int K = Integer.parseInt(st.nextToken());

        String score = br.readLine();
        StringTokenizer st2 = new StringTokenizer(score, " ");
        int[] x = new int[N];

        for (int i = 0; i < N; i++ ) {
            x[i] = Integer.parseInt(st2.nextToken());
        }

        for (int j = 0; j < N; j++ ) {
            for (int k = 0; k < N; k++ ) {
                if ( x[j] > x[k] ) {
                    int tempNum = x[j];
                    x[j] = x[k];
                    x[k] = tempNum;
                }
            }
        }

        System.out.println(x[K - 1]);
    }
}
반응형