https://www.acmicpc.net/problem/14724
[ 문 제 ]
BIG 프로젝트로 동문 커뮤니티 웹사이트를 만들려고 한다. 동문 커뮤니티의 관리자는 홈페이지와 선후배 네트워크를 담당하는 일을 한다.
동문 커뮤니티 제작 프로젝트를 맡으신 Mr.Nam 교수님은 동문 커뮤니티 운영을 맡을 중요한 관리자를 뽑아달라는 부탁을 동아리에 전달했다.
회의 결과 다음과 같은 규칙으로 매년 각 동아리에서 관리자를 선출하자는 의견이 나왔다.
- 각 동아리에서는 동아리원 N명을 선출하여, 그 중 백준 온라인 저지 알고리즘 문제를 푼 개수가 가장 많은 사람을 그 동아리의 관리자 후보로 선출한다.
- 각 동아리에서 뽑힌 후보들 중 가장 문제를 많이 푼 후보가 최종적으로 관리자가 된다.
충남대학교 컴퓨터공학과는 다양한 분야의 동아리들이 활동하고 있다.
17년 기준으로 PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY 이렇게 총 9개의 동아리가 있고, 각 동아리에는 최소 N명의 동아리원이 있을 때, 동문 커뮤니티 관리자는 어느 동아리에서 선출 될 것인지 알아내어라.
[ 입 력 ]
첫 번째 줄은 동아리원의 수 N이 주어진다. (1 ≤ N ≤ 100)
두 번째 줄부터 마지막 줄 까지 각 동아리별로 N명의 동아리원들의 백준 온라인 저지 알고리즘 문제를 푼 개수가 순서대로 주어진다.
같은 동아리의 동아리원들은 문제를 푼 개수가 같을 수 있지만, 각 동아리에서 선출된 후보들은 문제 푼 개수가 서로 다르다.
각 행은 같은 동아리원으로 구성되어 있으며, 정확히 다음과 같은 동아리명의 순서로 주어진다.
PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY
각 동아리원들이 문제를 푼 개수를 K라 할 때 (1 ≤ K ≤ 1000) 이다.
[ 출 력 ]
PROBRAIN, GROW, ARGOS, ADMIN, ANT, MOTION, SPG, COMON, ALMIGHTY중
동문 커뮤니티 관리자로 선발되는 후보가 소속한 동아리의 이름을 대문자로 출력한다.
<정답 코드>
N = int(input())
maxq = 0
admin = -1
club = ["PROBRAIN", "GROW", "ARGOS", "ADMIN", "ANT", "MOTION", "SPG", "COMON", "ALMIGHTY"]
for i in range(len(club)):
tmp = list(map(int, input().split()))
if max(tmp) >= maxq:
maxq = max(tmp)
admin = i
print(club[admin])
<풀이 과정>
N: 선출된 동아리 부원 수
maxq: 현재까지 입력받은 푼 문제 개수 중 가장 큰 수
admin: 관리자가 될 동아리를 저장하는 변수
club: 동아리의 이름들을 저장해놓은 변수
tmp: 각 동아리별 입력받은 문제 수 리스트를 임시 저장
-> club의 수만큼 for loop을 돌며 각 동아리 대표들의 문제 수를 입력받아 tmp에 저장한다.
-> 이 중, maxq(현재까지 입력받은 푼 문제 개수 중 가장 큰 수) 와 tmp(각 동아리별 입력받은 문제 수 리스트)의 최대값을 비교하여
maxq보다 tmp의 최대값이 더 큰 경우에, maxq값을 해당 값으로 업데이트하고, admin에 현재 동아리의 번호(여기서는 for loop의 i)를 저장한다.
-> 이 과정을 반복, fop loop을 빠져나올 시 admin에는 가장 문제를 많이 푼 사람이 있는 동아리의 index가 저장되어 있고
-> club 리스트에서 해당 index 값에 해당하는 값을 출력하면 답을 낼 수 있다.
'Koala - 14기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python3] 2745: 세 용액 (0) | 2024.03.31 |
---|---|
[백준/Python]1764번 듣보잡 (0) | 2024.03.31 |
[백준 2153/c++] (0) | 2024.03.31 |
[백준/C++]1764번: 듣보잡 (0) | 2024.03.26 |
[백준/Python] 17388번 와글와글 숭고한 (0) | 2024.03.24 |