본문 바로가기
코딩테스트 문제풀이(Python)

백준 2953번 문제풀이

by chanfficial 2022. 5. 5.

2953. 나는 요리사다

 

 

"나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5점까지 있다.
각 참가자가 얻은 점수는 다른 사람이 평가해 준 점수의 합이다. 이 쇼의 우승자는 가장 많은 점수를 얻은 사람이 된다.
각 참가자가 얻은 평가 점수가 주어졌을 때, 우승자와 그의 점수를 구하는 프로그램을 작성하시오.

 

 

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

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

 

 

ex)

입력 :

5 4 4 5
5 4 4 4
5 5 4 4
5 5 5 4
4 4 4 5

출력 :

4 19

 

 

 

 

 

풀이

max_count = 0
max_i = 0

for i in range(5):
    count = list(map(int, input().split()))
    if max_count < sum(count):
        max_count = sum(count)
        max_i = i+1

print(max_i, max_count)

- 먼저 다섯 개의 줄에 각 참가자가 얻은 네 개의 평가 점수를 입력받아 count라는 이름의 리스트로 만들어줬다. 

그리고 가장 많은 점수를 얻은 참가자를 출력하기 위해 최고점을 max_count, 최고점을 받은 사람을 max_i로 표현했다.

count 리스트의 요소들을 더한 값(sum(count))이 max_count 보다 크면 max_count를 sum(count)로 저장하고 max_i를 i+1로 저장하여 반복문이 종료된 후에 max_i와 max_count를 출력하게 했다.

'코딩테스트 문제풀이(Python)' 카테고리의 다른 글

백준 3052번 문제풀이  (0) 2022.05.06
백준 2908번 문제풀이  (0) 2022.05.06
백준 2711번 문제풀이  (0) 2022.05.05
백준 10807번 문제풀이  (0) 2022.05.04
백준 10818번 문제풀이  (0) 2022.05.03