JAVA/Coding Test Study
[Lv.0] 프로그래머스 - 등수 매기기 : Java
♡˖GYURI˖♡
2024. 6. 18. 21:51
728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이해하기
처음 시도했던 풀이는 int 배열을 따로 선언해서 각각의 평균을 계산한 후, 등수를 매기는 것이었다.
하지만 등수 로직을 구현하는데 실패하였다...
참고한 블로그⬇️
프로그래머스 [JAVA] :: 등수 매기기
📚 문제 정의 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평
velog.io
찾아보니 굳이 평균을 계산해서 int 배열에 넣고, 그걸 가지고 등수를 매길 필요가 없었다!
- List에 각각의 영어 점수 + 수학 점수를 add한다.
- 해당 List를 내림차순으로 정렬한다.
- 각 학생의 영어 점수 + 수학 점수 등수를 List에서 찾는다!
문제풀이
import java.util.*;
class Solution {
public int[] solution(int[][] score) {
List<Integer> list = new ArrayList<>();
for (int[] s : score) {
list.add(s[0] + s[1]);
}
list.sort(Comparator.reverseOrder());
int[] answer = new int[score.length];
for (int i = 0; i < score.length; i++) {
answer[i] = list.indexOf(score[i][0] + score[i][1]) + 1;
}
return answer;
}
}