코딩 테스트(Python)/백준, 프로그래머스
11652 카드
5_hyun
2022. 3. 15. 22:13
반응형
https://www.acmicpc.net/problem/11652
11652번: 카드
준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지
www.acmicpc.net
내 풀이(맞음)
n = int(input())
dic = {}
for i in range(n):
x = int(input())
if x in dic:
dic[x] += 1
else:
dic[x] = 1
ary = sorted(dic.items(), key=lambda x: x[1], reverse = True)
t = ary[0][1]
rst = [ary[0][0]]
for i in range(1, len(ary)):
if ary[i][1] == t:
rst.append(ary[i][0])
else:
break
print(min(rst))
딕셔너리로 key 값을 숫자로 두고 value 값에 몇 개가 입력되었는지 했다. 그리고 sorted(dic.items(), key = lambda x:x[1], reverse = True)로 딕셔너리를 내림차순으로 정렬했다. x:x[1]에서 1은 키 값으로 정렬한다는 뜻이고 reverse = True는 내림차순으로 정렬한다는 의미이다. 그리고 for 문으로 처음에 있는 value 값과 같은 값인 key 값을 rst에 넣고 그중 가장 작은 것을 출력했다.
반응형