[카드]-11652번
My answer
import sys
n=int(sys.stdin.readline())
board=dict()
for i in range(n):
tmp=int(sys.stdin.readline())
if(tmp not in board):
board[tmp]=1
else:
board[tmp]+=1
board=sorted(board.items(),key=lambda x:(-x[1],x[0]))
print(board)
Another answer
from collections import*
a,*b=map(int,open(0).read().split())
b=Counter(b)
print(max(sorted(b),key=lambda i:b[i]))
더보기
딕셔너리도 똑같이 lambda를 이용해서 정렬했는데, 첫 인자에 그냥 딕셔너리를 넣으면 안되고 dict.items()나 dict.values()나 dict.keys()등을 넣어서 해야한다. 이번에는 키값과 밸류값 모두를 이용해서 정렬해야 했기 때문에 dict.itmes()를 이용해서 풀었다. 아래 코드는 collections라이브버리의 counter함수를 사용했는데 그냥 내가 개수를 셀 때 쓴 방법을 그대로 실행시켜주는 함수이다. 반환형은 딕셔너리이다.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python/백준] #10828- [스택] (0) | 2021.11.28 |
---|---|
[Python/백준] #11004- [K번째 수] (0) | 2021.11.28 |
[Python/백준] #10825- [국영수] (0) | 2021.11.28 |
[Python/백준] #10814 - [나이순 정렬] (0) | 2021.11.28 |
[Python/백준] #11650 - [좌표 정렬하기] (0) | 2021.11.28 |