[백준] 2822 점수계산
https://www.acmicpc.net/problem/2822
2822번: 점수 계산
8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문
www.acmicpc.net
해결하는 방법은 어려가지가 있을 것 같다. 나는 점수와 인덱스를 담는 클래스를 하나 만들어서 여기에 넣고, 정렬을 통해 해결했다.
문제
입출력 예제
코드
package prac;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
public class prac
{
static class score
{
int index;
int score;
score(int index, int score)
{
this.index = index;
this.score = score;
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
ArrayList list = new ArrayList();
ArrayList index = new ArrayList();
int sum = 0;
for(int i=0; i<8; i++)
{
list.add(new score(i+1, sc.nextInt()));
}
Collections.sort(list, new Comparator() {
@Override
public int compare(score s1, score s2)
{
return s2.score-s1.score;
}
});
for(int i=0; i<5; i++)
{
sum += list.get(i).score;
index.add(list.get(i).index);
}
System.out.println(sum);
Collections.sort(index);
for(int i=0; i<5; i++)
{
System.out.print(index.get(i) + " ");
}
sc.close();
}
}