본문 바로가기

개인공부/알고리즘

알고리즘 문제 풀이(코딩테스트 문제 3)

문제 3.

 

문제 3 설명

정리

  • 학과수(hak_num), 경기수(match_num) 입력받기
  • 1부터 학과수(hak_num)까지의 번호를 가진 학과 번호(key)에 대한 승리수(value)를 가진 딕셔너리 hak 생성
  • 경기수(match_num)만큼 반복
  • 승리팀 a와 패배팀 b 입력받기
  • 딕셔너리 hak에서 승리팀의 학과 a번과 같은 key값을 찾아 승리수(value)에 1을 더한다.
  • 반복이 끝나면 승리수(value)가 가장 큰 key값을 출력

 

코드

# playdata coding test 3
hak_num, match_num  = input().split() # 학과수, 경기수 입력
hak = {i:0 for i in range(1, int(hak_num)+1)} # 학과 번호(key)에 대한 승리수(value)를 가진 dict 생성

for _ in range(0, int(match_num)): # 경기 수 만큼 반복
    a, b = input().split()         # a번팀이 b번팀을 상대로 승리
    hak[int(a)] += 1               # a번팀의 승리수(value) 1 추가
    
max(hak, key = hak.get)            # value값이 제일 큰 value의 key값 출력