[문제]
"나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5점까지 있다.
각 참가자가 얻은 점수는 다른 사람이 평가해 준 점수의 합이다. 이 쇼의 우승자는 가장 많은 점수를 얻은 사람이 된다.
각 참가자가 얻은 평가 점수가 주어졌을 때, 우승자와 그의 점수를 구하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/2953
2953번: 나는 요리사다
"나는 요리사다"는 다섯 참가자들이 서로의 요리 실력을 뽐내는 티비 프로이다. 각 참가자는 자신있는 음식을 하나씩 만들어오고, 서로 다른 사람의 음식을 점수로 평가해준다. 점수는 1점부터 5
www.acmicpc.net
🎨 풀이
💡 전체 코드
import sys
winner = 0
max_score = 0
for i in range(5):
score = list(map(int,sys.stdin.readline().split()))
if max_score < sum(score):
max_score = sum(score)
winner = i+1
print(winner,max_score)
> 핵심 : max와 해당 요리사의 점수 합계 총합을 계속 비교해주면 된다.
🍦 코드 설명 (실행 순서대로 나열)
# main
winner = 0
max_score = 0
1. winner, max_score를 0으로 초기화한다.
- winner : 우승자
- max_score : 최고 점수
for i in range(5):
score = list(map(int,sys.stdin.readline().split()))
if max_score < sum(score):
max_score = sum(score)
winner = i+1
2. for문을 5번 반복한다.
- 요리사가 5명이라고 적혀있기 때문이다.
3. score를 입력받은 후 합계와 max_score과 비교한다.
만약, score가 max_score 보다 크다면, max_score에 sum(score) 값을 넣는다. winner에도 i+1을 넣어준다.
- i가 0부터 시작하기 때문이다
print(winner,max_score)
4. winner와 max_score를 출력해준다.
- ,를 두고 변수를 print하면 자동으로 두 변수 사이에 한 칸 공백이 생긴다. 그래서 출력형식을 그대로 출력할 수 있다.

끝~
⭐ 느낀점
> 비교해주기만 하면 되는 문제라 조금 풀기 쉬웠던 것 같다. 풀이도 나름 좀 깔끔하게 잘 적은 것 같아서 혼자 뿌듯해하는 중이다 지금. ㅋㅋㅋㅋㅋㅋㅋㅋㅎㅎ
'🎲 알고리즘 공부 > 백준' 카테고리의 다른 글
[백준] 1550번 - 16진수 (파이썬) (0) | 2022.09.09 |
---|---|
[백준] 9093번 - 단어 뒤집기 (파이썬) (0) | 2022.09.08 |
[백준] 2902번 - KMP는 왜 KMP일까? (파이썬) (0) | 2022.09.06 |
[백준] 2455번 - 지능형 기차 (파이썬) (0) | 2022.09.05 |
[백준] 1032번 - 명령 프롬프트 (파이썬) (0) | 2022.09.04 |