등수 구하기

최준호·2021년 8월 7일
0

알고리즘 강의

목록 보기
15/79

설명

N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.

같은 점수가 입력될 경우 높은 등수로 동일 처리한다.

즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.

코드

public class Rank {
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        int leng = in.nextInt();
        int[] arr = new int[leng];
        for(int i=0; i<leng; i++){
            arr[i] = in.nextInt();
        }

        //int[] arr = {87, 89, 92, 100, 76};
        solution(arr);
    }

    public static void solution(int[] arr){
        int[] ranks = new int[arr.length];
        for(int i=0; i<arr.length; i++){
            int rank = 1;
            int target = arr[i];
            for(int j=0; j<arr.length; j++){
                if(i==j) continue;
                int compare = arr[j];
                if(target<compare) rank++;
            }
            ranks[i] = rank;
        }
        for (int i : ranks) {
            System.out.print(i+" ");
        }
    }
}

배열을 완전 탐색하는 문제

profile
코딩을 깔끔하게 하고 싶어하는 초보 개발자 (편하게 글을 쓰기위해 반말체를 사용하고 있습니다! 양해 부탁드려요!) 현재 KakaoVX 근무중입니다!

0개의 댓글