Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

전공공부

[BOJ_1205] 등수 구하기 본문

Study/Problem Solving

[BOJ_1205] 등수 구하기

monitor 2023. 9. 5. 00:07

단순 구현 문제

 

- list 객체에 등수 구하기 위한 값들을 넣은 후 내림차순 sort 한 후 같은 값일 때는 가장 작은 등수로 인식이 되어야 하므로 조건문 통과를 위한 값은 lastIndex의 값으로 사용함

- 등수 출력시에는 index 처음 나온 위치 값을 사용함

 

 

아래는 코드이다.

 

package Simulation;
import java.util.*;
import java.io.*;

public class BOJ_1205_등수_구하기 {
    public static void main(String[] args) throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer tk = new StringTokenizer(in.readLine()," ");
        int N = Integer.parseInt(tk.nextToken());
        int point = Integer.parseInt(tk.nextToken());
        int P = Integer.parseInt(tk.nextToken());
        List<Integer> list = new ArrayList<>();
        if(N == 0){
            if(P > 0){
                System.out.println(1);
            }else{
                System.out.println(-1);
            }
        }else{
            tk = new StringTokenizer(in.readLine()," ");
            int n = 0;
            list.add(point);
            for(int i = 0; i < N; i++)
            {
                list.add(Integer.parseInt(tk.nextToken()));
            }

            Collections.sort(list, (o1,o2) -> o2.compareTo(o1));
            n = list.indexOf(point);
            if(list.lastIndexOf(point) >= P){
                System.out.println(-1);
            }else{
                System.out.println(n+1);
            }
        }
    }
}

 

 

1205번: 등수 구하기

첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보

www.acmicpc.net

 

'Study > Problem Solving' 카테고리의 다른 글

[BOJ_12919] A와 B 2  (0) 2023.09.07
[BOJ_14940] 쉬운 최단거리  (0) 2023.09.05
슬라이딩 윈도우  (0) 2023.09.03
[BOJ_1522] 문자열 교환  (0) 2023.09.03
[BOJ_1446] 지름길  (0) 2023.08.27