[백준] 11652. 카드

원숭2·2022년 1월 25일
0

백준

목록 보기
13/54

문제

풀이

  1. 수의 범위가 굉장히 크고, 갯수도 많기에 dictionary를 활용함.
  2. for문을 돌며 숫자가 key에 있으면 값을 1 더하고, 없으면 값을 새로 추가함.
  3. 문제에서 최댓값을 가진 정수가 여러개면 작은 것을 출력하라고 했기에 sorting 필요.
  4. 딕셔너리는 따로 sorting 할 방법이 없기에 딕셔너리 값을 tuple로 반환해주는 items함수 사용함.
  5. items를 sort함수와 lambda식을 이용하여 value는 내림차순, key 오름차순으로 정렬해줌.

코드

import sys

def card() :
    n = int(sys.stdin.readline())
    table = dict()
    for _ in range(n) :
        i = int(sys.stdin.readline())
        if i in table.keys() :
            table[i] += 1
        else :
            table[i] = 1
            
    table = list(table.items())
    table.sort(key = lambda x : (-x[1], x[0]))
    
    print(table[0][0])    
    
card()

0개의 댓글