📝문제

📝알고리즘
//2차원 배열 생성해서
//0열에는 입력 순서, 1열에는 점수 저장
//점수를 기준으로 내림차순으로 배열을 정렬
//가장 높은 점수 5개인 배열 0~4행까지의 점수 더한 값인 sum 출력
//배열 numbers에 0~4행까지의 번호 저장 후 내림차순으로 정렬 후 출력
📝구현
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int[][] score=new int[8][2];
for(int i=0; i<8; i++){
score[i][0]=i+1;
score[i][1]=scanner.nextInt();
}
Arrays.sort(score, Comparator.comparingInt((int[] a)->a[1]).reversed());
int sum=0;
for(int i=0; i<5;i++){
sum+=score[i][1];
}
System.out.println(sum);
int[] numbers=new int[5];
for(int i=0; i<5; i++){
numbers[i]=score[i][0];
}
Arrays.sort(numbers);
for(int i=0; i<5;i++){
System.out.print(numbers[i]+" ");
}
}
}
📌기록하고 싶은 내용
<자바에서 정렬하는 방법>
➡️기본 정렬 알고리즘 직접 구현: 버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬 등...
➡️자바에서 제공하는 정렬 함수 사용: Arrays.sort(), Collections.sort()