백준
백준 2822 점수 계산(Java)
Park DJ
2023. 1. 22. 03:21
https://www.acmicpc.net/problem/2822
2822번: 점수 계산
8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문
www.acmicpc.net
해석 및 팁
이 문제는 배열을 2개 만들어서 하나는 정렬하여 가장 높은 점수 5개의 합을 구하고 남은 배열은 인덱스 번호를 구하면 됩니다. Arrays.sort를 사용하면 내림차순으로 정렬되므로 큰 값 5개의 범위는 3부터 8입니다.
Java 코드
import java.util.Scanner;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[8];
int[] check = new int[8];
int sum = 0;
for(int i = 0; i < 8; i++) {
arr[i] = sc.nextInt();
check[i] = arr[i];
}
Arrays.sort(arr);
for(int i = 3; i < 8; i++) sum += arr[i];
System.out.println(sum);
for(int i = 0; i < 8; i++) {
for(int j = 3; j < 8; j++) {
if(check[i] == arr[j]) System.out.print((i + 1)+" ");
}
}
}
}