반응형

[Bronze III] 나는 요리사다 - 2953

문제 링크

성능 요약

메모리: 11488 KB, 시간: 80 ms

분류

사칙연산(arithmetic), 구현(implementation), 수학(math)

문제 설명

"나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5점까지 있다.

각 참가자가 얻은 점수는 다른 사람이 평가해 준 점수의 합이다. 이 쇼의 우승자는 가장 많은 점수를 얻은 사람이 된다.

각 참가자가 얻은 평가 점수가 주어졌을 때, 우승자와 그의 점수를 구하는 프로그램을 작성하시오.

입력

총 다섯 개 줄에 각 참가자가 얻은 네 개의 평가 점수가 공백으로 구분되어 주어진다. 첫 번째 참가자부터 다섯 번째 참가자까지 순서대로 주어진다. 항상 우승자가 유일한 경우만 입력으로 주어진다.

출력

첫째 줄에 우승자의 번호와 그가 얻은 점수를 출력한다.

풀이방법

5행 4열로 반복문을 돌리면서 각 행마다 최대합과 몇 행인지 저장하여 출력해주면 해결가능.

느낀점

백준에는 직접 다 작성해야해서 Main 클래스부터 main 메서드 전체를 컨닝없이 다 작성해봤다.

그러나, 컴파일 에러가 떴는데 그 이유는 Scanner로 입력받을 때는 import java.util.*을 하면 되는데 BufferedReader를 사용할 때는 뭘 import 해야하는지 몰랐기 때문이었다.

정답은 import java.io.*

추가적으로 throws Exception 예외처리를 하지 않아서 한 번 컴파일 에러가 떴다.

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = 5;
        int answer = 0;
        int answer2 = 0;
        for(int i = 0; i < 5; i++){
            String[] split = br.readLine().split(" ");
            int sum = 0;
            for(int j = 0; j < 4; j++){
                sum += Integer.parseInt(split[j]);
            }
            if (answer < sum){
                answer = sum;
                answer2 = i+1;
            }
        }
        System.out.print(answer2 + " " + answer);
    }
}

+ Recent posts