개발 연습장/백준 문제풀이

[파이썬, Python] 백준 11652: 카드

LooanCheong 2023. 6. 12. 11:29
반응형

문제

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

 

11652번: 카드

준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지

www.acmicpc.net

코드

import sys
input = sys.stdin.readline

n = int(input())
card = dict()

for i in range(n):
    a = int(input())
    if a not in card:
        card[a] = 0
    card[a] += 1
    
print(max(sorted(card), key = card.get))

설명

n을 입력받고,
card의 딕셔너리를 이용해서 개수를 체크한다.

카드의 개수를 다 더해주고 card의 value 중 제일 큰 값을 출력해야 하는데
일반적인 사용법처럼 max를 사용해서 출력하게 되면 key 값이 나온다.

따라서 max함수에 key값으로 '.get' 를 사용해 주어 value를 출력할 수 있게 하였다.
이 때, 중복값이 있을 경우 가장 작은 수를 출력해야 하므로 sorted 된 리스트에서 출력할 수 있게 한다.

반응형