[백준] 11652 카드

오혜수·2022년 2월 24일
0

코딩 테스트

목록 보기
12/61

링크 : https://www.acmicpc.net/problem/11652

🚗 문제

준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -2^62보다 크거나 같고, 2^62보다 작거나 같다.

준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다.

🚌 풀이

리스트에 모든 숫자를 할당해서 수를 늘려가면 메모리가 감당 안될 것 같아서 defaultdict 모듈을 사용했다.

import sys
from collections import defaultdict
input = sys.stdin.readline

n = int(input())
array = defaultdict(int)

for i in range(n):
    a = int(input())
    array[a] += 1

sorted_array = sorted(array.items(), key = lambda x: (-x[1], x[0]))
print(sorted_array[0][0])

0개의 댓글