문제 링크
https://www.acmicpc.net/problem/11652
11652번: 카드
준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지
www.acmicpc.net
문제
문제 풀이
딕셔너리를 이용해 풀이를 하였다.
key값에 숫자를 저장하고, value에 해당 숫자의 개수를 저장한다.
딕셔너리 를 정렬할 때, 1) 개수가 큰 것 2) 개수가 같을 경우, 숫자가 작은 것 이 기준이 되므로,
value값에 대해 먼저 내림차순 정렬을 해주고, key값에 대해 오름차순 정렬을 해준다.
import sys
input = sys.stdin.readline
n = int(input())
cards = {}
for i in range(n):
card = int(input())
if card in cards:
cards[card] += 1
else:
cards[card] = 1
result = sorted(cards.items(), key = lambda x: (-x[1], x[0]))
print(result[0][0])
'Algorithm > BOJ' 카테고리의 다른 글
[백준] 11004 K번째 수 (파이썬 python) (0) | 2022.01.21 |
---|---|
[백준] 11053 가장 긴 증가하는 부분 수열 (파이썬 python) (0) | 2022.01.21 |
[백준] 10989 수 정렬하기 3 (파이썬 python) (0) | 2022.01.20 |
[백준] 10825 국영수 (파이썬 python) (0) | 2022.01.20 |
[백준] 10814 나이순 정렬 (파이썬 python) (0) | 2022.01.19 |