https://www.acmicpc.net/problem/11652
파이썬의 딕셔너리를 이용하여 각 숫자들을 카운트 한다음 횟수와 숫자의 크기로 정렬한 다음 출력한다.
from sys import stdin
input = stdin.readline
array = dict()
number = int(input())
for i in range(number):
n = int(input())
if n not in array:
array[n] = 0
array[n]+=1
array = sorted(array.items(),key = lambda x:(-x[1],x[0]))
print(array[0][0])
입력 받은 값들을 정렬한 후에 하나씩 카운트해서 간다 전값(i-1)과 현재 값(i)이 다르다면 지금까지 카운트(cnt)한 값과 비교해서 지금까지 카운트한 값이 크다면 그 전값(i-1)을 저장(idx)한 다음에 다시 처음부터 카운트 한다. 모든 값을 비교한 후에 저장(idx)값을 출력한다.
from sys import stdin
input = stdin.readline
n = int(input())
array = [int(input()) for i in range(n)]
array.sort()
cnt = 1
max = 1
idx = 0
for i in range(1,n):
if array[i] == array[i-1]:
cnt+=1
else:
if cnt>max:
max = cnt
idx = i-1
cnt = 1
if cnt>max:
max = cnt
idx = n-1
print(array[idx])