영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.
import java.util.Arrays;
class Solution {
public int[] solution(int[][] score) {
int[] answer = new int[score.length];
double[] average = new double[score.length];
for(int i=0; i<score.length;i++){
average[i]= (double)(score[i][0]+score[i][1])/2;
}
double[] average2 = Arrays.copyOf(average, average.length); // for(int i= 0; i<average2.length;i++){
// average2[i]=average[i];
// }
Arrays.sort(average);
for(int i=0; i<answer.length;i++){
for(int j=0; j<answer.length; j++){
if(average[i]==average2[j]){
answer[j]=answer.length-(i);
}
}
}
return answer;
}
}
일단 처음에는 다 int 형으로 코드를 짰는데 3번이랑 6번만 자꾸 실패해서 질문하기쪽에서 힌트를 얻어 평균이 소수점으로 나오는경우도 생각해야한다해서 double 로 바꿔서 코드를 다시짜니 다 통과했다.
그리고 등수 배열구하기 위해서 나는 이중 포문을 이용해 원래 배열과 오름차순으로 있는 배열을 비교해줘서 그친구가
자리가 원래 어디였는지 비교해서 순위를 매겨주었다. !!!
'자바 알고리즘 문제' 카테고리의 다른 글
| 문자열 밀기 (1) | 2024.03.30 |
|---|---|
| 치킨 쿠폰 (0) | 2024.03.28 |
| 전국 대회 선발 고사 (0) | 2024.03.27 |
| 대소문자 바꿔서 출력하기 (0) | 2024.03.25 |
| 로그인 성공? (0) | 2024.03.25 |