본문 바로가기
Algorithm/Programmers

[Programmers] Lv.0 / 등수 매기기 / Java

by unknownomad 2024. 7. 25.

문제

 

풀이

class Solution {
    public int[] solution(int[][] score) {
        int n = score.length;
        int[] ranks = new int[n];
        
        double[] averages = new double[n];
        for (int i = 0; i < n; i++) {
            averages[i] = (score[i][0] + score[i][1]) / 2.0;
        }
        
        for (int i = 0; i < n; i++) {
            int rank = 1;
            for (int j = 0; j < n; j++) {
                if (averages[j] > averages[i]) {
                    rank++;
                }
            }
            ranks[i] = rank;
        }
        return ranks;
    }
}
import java.util.*;

class Solution {
    public int[] solution(int[][] score) {
        
        List<Integer> scoreList = new ArrayList<>();
        for (int[] t : score) {
            scoreList.add(t[0] + t[1]);
        }
        scoreList.sort(Comparator.reverseOrder());
        
        int[] answer = new int[score.length];
        for (int i = 0; i < score.length; i++) {
            answer[i] = scoreList.indexOf(score[i][0] + score[i][1]) + 1;
        }
        return answer;
    }
}

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120882

댓글