[ 다먹살 ]/- Coding

[백준] 2822 점수계산

엉망으로살기 2022. 3. 25. 23:08
반응형

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();
     }

}

               

     

반응형