반응형
문제
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 된 리스트에서 출력할 수 있게 한다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 2193: 이친수 (0) | 2023.06.14 |
---|---|
[파이썬, Python] 백준 1735: 분수 합 (0) | 2023.06.13 |
[파이썬, Python] 백준 1057: 토너먼트 (0) | 2023.06.09 |
[파이썬, Python] 백준 1748: 수 이어 쓰기 1 (0) | 2023.06.08 |
[파이썬, Python] 백준 9613: GCD 합 (0) | 2023.06.07 |