헝D의 일기장
article thumbnail

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

 

8979번: 올림픽

입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각

www.acmicpc.net

 

 

나의풀이

import java.util.*;
import java.io.*;
public class Main {
    public static void main(String args[]) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st=new StringTokenizer(br.readLine());
        int n=Integer.parseInt(st.nextToken());
        int k=Integer.parseInt(st.nextToken());
        
        int[][] arr=new int[n][3];
        
        for(int i=0;i<n;i++){
            st=new StringTokenizer(br.readLine());
            int country=Integer.parseInt(st.nextToken());
            arr[country-1][0]=Integer.parseInt(st.nextToken());
            arr[country-1][1]=Integer.parseInt(st.nextToken());
            arr[country-1][2]=Integer.parseInt(st.nextToken());
        }
        
        int answer=1;
        for(int i=0;i<n ; i++){
            if(arr[i][0]>arr[k-1][0]){//구하고자 하는 나라보다 금메달이 많은 나라
                answer++;
            }else if(arr[i][0]==arr[k-1][0] && arr[i][1]>arr[k-1][1]){//금메달은 같고 은메달이 많은 나라
                answer++;
            }else if(arr[i][0]==arr[k-1][0] && arr[i][1]==arr[k-1][1] && arr[i][2]>arr[k-1][2]){
                answer++;
            }
        }
        bw.write(String.valueOf(answer));
        bw.flush();
        br.close();
        bw.close();
    }
}
profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!