백준 콘테스트

KIMYEONGJUN·2025년 3월 13일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

입력은 20 행으로 구성된다.
1 번째 줄부터 10 번째 줄에는 W 대학의 각 참가자의 점수를 나타내는 정수가 11 번째 줄부터 20 번째 줄에는 K 대학의 각 참가자의 점수를 나타내는 정수가 적혀있다.
이 정수는 모두 0 이상 100 이하이다.

W 대학 점수와 K 대학의 점수를 순서대로 공백으로 구분하여 출력하라.

내가 이 문제를 보고 생각해본 부분

입력 처리: BufferedReader를 사용하여 20개의 점수를 입력받는다.
첫 10개는 W 대학의 점수, 나머지 10개는 K 대학의 점수이다.
정렬: 각 대학의 점수를 정렬하여 상위 3명의 점수를 쉽게 선택할 수 있도록 한다.
점수 합산: 정렬된 배열에서 마지막 3개의 요소(상위 3명)를 합산한다.
출력: StringBuilder를 사용하여 결과를 형식에 맞게 출력해준다.

코드로 구현

package baekjoon.baekjoon_27;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

// 백준 5576번 문제
public class Main959 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        int[] wScores = new int[10];
        int[] kScores = new int[10];

        // W 대학 점수 입력
        for(int i = 0; i < 10; i++) {
            wScores[i] = Integer.parseInt(br.readLine());
        }

        // K 대학 점수 입력
        for(int i = 0; i < 10; i++) {
            kScores[i] = Integer.parseInt(br.readLine());
        }

        // W 대학 상위 3명 점수 합산
        Arrays.sort(wScores);
        int wTotal = wScores[7] + wScores[8] + wScores[9];

        // K 대학 상위 3명 점수 합산
        Arrays.sort(kScores);
        int kTotal = kScores[7] + kScores[8] + kScores[9];

        // 결과 출력
        sb.append(wTotal).append(" ").append(kTotal);
        System.out.println(sb.toString());
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글