/* 등수 매기기
* 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다.
* 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때,
* 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return
*
* score
* [[80, 70], [90, 50], [40, 70], [50, 80]]
* result : [1, 2, 4, 3]
* [[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [10, 30]]
* result : [4, 4, 6, 2, 2, 1, 7]
*/
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | import java.util.*; import java.util.stream.Collectors; public class Programmer_0_57 { static int[][] a1 = {{1, 2}, {1, 1}, {1, 1}}; static int[][] a2 = {{80, 70}, {70, 80}, {30, 50}, {90, 100}, {100, 90}, {100, 100}, {10, 30}}; public int[] solution(int[][] score) { int[] answer = new int[score.length]; List<Integer> sAr = new ArrayList<>(); int k = 0; for(int[] i : score){ //점수 합산 answer[k] = i[0] + i[1]; sAr.add(i[0] + i[1]); k++; } Collections.sort(sAr, Collections.reverseOrder()); //내림차순 정렬 for(int i : sAr) System.out.print(i + "/"); System.out.println(""); for(int i = 0; i < score.length; i++){ for(int n = 0; n < sAr.size(); n++){ if(answer[i] == sAr.get(n)){ answer[i] = n + 1; break; } } } for(int i : answer) System.out.print(i + ","); System.out.println(""); return answer; } public static void main(String args[]){ Programmer_0_57 t = new Programmer_0_57(); System.out.println("---------------------------------------"); System.out.println("result = " + t.solution(a1)); System.out.println("---------------------------------------"); // System.out.println("result2 = " + t.solution(a2)); // System.out.println("---------------------------------------"); } } | cs |
'프로그래머스 > lv0' 카테고리의 다른 글
| 치킨 쿠폰 (0) | 2022.12.05 |
|---|---|
| 로그인 성공? (0) | 2022.12.05 |
| 특정 문자 제거하기 (0) | 2022.12.05 |
| 문자열 뒤집기 (0) | 2022.12.05 |
| 직각삼각형 출력하기 (0) | 2022.12.05 |