728x90
문제 출처: https://www.acmicpc.net/problem/11652
11652번: 카드
준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지
www.acmicpc.net
문제
준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다.
준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지고 있는 정수를 구하는 프로그램을 작성하시오. 만약, 가장 많이 가지고 있는 정수가 여러 가지라면, 작은 것을 출력한다.
입력
첫째 줄에 준규가 가지고 있는 숫자 카드의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 숫자 카드에 적혀있는 정수가 주어진다.
출력
첫째 줄에 준규가 가장 많이 가지고 있는 정수를 출력한다.
정답
import sys
n = int(sys.stdin.readline().rstrip())
dic = {}
for _ in range(n):
tmp = int(sys.stdin.readline().rstrip())
if tmp in dic:
dic[tmp] +=1
else:
dic[tmp] = 1
answer = sorted(dic.items(),key = lambda x : (-x[1],x[0]))
print(answer[0][0])
1. n 입력, dic 딕셔너리 세팅
2. for문 - tmp 입력
3. tmp가 dic에 있을 경우 해당 값 +1, 없을 경우 값이 1로 dic에 추가
4. answer에 values가 제일 높고 items가 제일 낮은 순서대로 정렬
5. answer의 맨 처음 값 출력
여러가지 방식으로 해보았지만 시간초과는 진짜 많이 나오더라고요 ㅋㅋㅋ
728x90
'코딩 > 백준' 카테고리의 다른 글
[백준/파이썬/DP] 1904번 01타일 코딩테스트 연습풀이 (0) | 2022.06.28 |
---|---|
[백준/파이썬/브루트포스] 2529번 부등호 코딩테스트 연습풀이 (0) | 2022.06.27 |
[백준/파이썬/그래프/DFS] 2583번 영역 구하기 코딩테스트 연습풀이 (0) | 2022.06.25 |
[백준/파이썬/DP] 11052번 카드 구매하기 코딩테스트 연습풀이 (0) | 2022.06.24 |
[백준/파이썬/브루트포스] 3085번 사탕 게임 코딩테스트 연습풀이 (0) | 2022.06.23 |