안녕하세요! 오늘은 간단하면서도 재미있는 프로그래밍 문제를 함께 풀어보려고 합니다. 문제는 다음과 같습니다:
문제: 여러 학교의 한 해 동안 술 소비량 데이터가 주어졌을 때, 가장 많이 술을 마신 학교의 이름을 출력하라.
문제의 배경
입학 OT 때 누구보다도 열심히(?) 놀았던 당신은 자연스럽게 1학년 과대를 맡게 되었습니다. 조인트 엠티를 기획하던 중, 주변 학교 중에서 가장 술 소비가 많은 학교가 궁금해졌습니다. 각 학교의 술 소비량이 주어졌을 때, 가장 많이 술을 마신 학교를 찾는 프로그램을 만들어봅시다.
문제 설명
입력
- 첫 줄에 테스트 케이스 수 T가 주어집니다.
- 각 테스트 케이스의 첫 줄에는 학교의 수 N이 주어집니다.
- 이어서 N줄에 걸쳐 각 학교 이름 S와 해당 학교의 술 소비량 L이 주어집니다.
- 예: Yonsei 20000
출력
- 각 테스트 케이스마다 가장 술 소비량이 많은 학교 이름을 한 줄씩 출력합니다.
조건
- 학교의 수 N은 1 이상 100 이하.
- 소비량 L은 0 이상 10,000,000 이하.
- 같은 테스트 케이스 내에서 소비량이 동일한 학교는 없습니다.
풀이 접근
- 입력 데이터를 처리하기
첫 번째 줄에서 테스트 케이스 수 T를 입력받습니다.
각 테스트 케이스는 학교의 수 N과 학교 이름 및 소비량 정보가 주어지므로 이를 반복문으로 처리합니다. - 가장 많이 마신 학교 찾기
각 학교의 이름과 술 소비량을 비교하며 최대 소비량과 그에 해당하는 학교 이름을 기록합니다. - 결과 출력
테스트 케이스마다 가장 많이 술을 마신 학교의 이름을 출력합니다.
코드 구현
# 테스트 케이스 수 입력
T = int(input("테스트 케이스 수를 입력하세요: "))
# 테스트 케이스 처리
for _ in range(T):
# 학교의 수 입력
N = int(input("학교의 수를 입력하세요: "))
max_school = "" # 술 소비량이 가장 많은 학교 이름 저장
max_liquor = 0 # 최대 술 소비량 저장
# N개의 학교 데이터 입력
for _ in range(N):
school, liquor = input("학교 이름과 술 소비량을 입력하세요: ").split()
liquor = int(liquor)
# 최대 소비량과 비교하여 업데이트
if liquor > max_liquor:
max_liquor = liquor
max_school = school
# 결과 출력
print(max_school)
코드 설명
1. 테스트 케이스 수 입력
- 첫 줄에 테스트 케이스 수 T를 입력받습니다.
- T번 반복하면서 각각의 테스트 케이스를 처리합니다.
2. 학교 데이터 처리
- 각 테스트 케이스에서 학교의 수 N과 이름-소비량 데이터를 입력받습니다.
- 최대값 비교를 통해 가장 많이 술을 마신 학교와 그 소비량을 기록합니다.
3. 결과 출력
- 각 테스트 케이스마다 최대 소비량을 가진 학교의 이름을 출력합니다.
예제 실행
입력 예제
2
3
Korea 10000
Yonsei 20000
Ewha 30000
2
SeoulTech 5000
KU 7000
출력 예제
Ewha
KU
실행 과정 설명
- 첫 번째 테스트 케이스:
- Korea: 10000, Yonsei: 20000, Ewha: 30000 데이터를 비교하여 Ewha가 가장 많이 소비했으므로 출력.
- 두 번째 테스트 케이스:
- SeoulTech: 5000, KU: 7000 데이터를 비교하여 KU가 가장 많이 소비했으므로 출력.
핵심 포인트
- 입력 데이터 처리: 여러 테스트 케이스를 하나씩 처리하는 반복문 사용.
- 최댓값 비교: 각 학교의 소비량을 비교하여 현재까지의 최댓값과 이름을 갱신.
- 문제 해결 능력 향상: 데이터를 순차적으로 처리하면서 최대값을 구하는 방식은 다양한 문제에서 활용 가능!
마무리
이 문제는 간단한 반복문과 조건문을 활용하여 데이터를 처리하는 능력을 기르는 데 매우 유용합니다. 여러분도 직접 코드를 작성하고 실행해 보세요! 😊
궁금한 점이나 피드백이 있다면 댓글로 남겨주세요!
'python' 카테고리의 다른 글
99클럽 코테 스터디_4기 28일차 TIL (0) | 2024.11.25 |
---|---|
99클럽 코테 스터디_4기 27일차 TIL (0) | 2024.11.25 |
99클럽 코테 스터디_4기 25일차 TIL (0) | 2024.11.23 |
99클럽 코테 스터디_4기 24일차 TIL (0) | 2024.11.21 |
99클럽 코테 스터디_4기 23일차 TIL (1) | 2024.11.20 |