반응형
https://www.acmicpc.net/problem/1302
1302번: 베스트셀러
첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고
www.acmicpc.net
내 코드
import sys
import operator
from collections import defaultdict
read = sys.stdin.readline
book = defaultdict(int)
n = int(read().strip())
arr =[]
for i in range(n):
k = input().rstrip()
book[k] +=1
maxkey = max(book.values())
for k, v in book.items():
if v == maxkey:
arr.append(k)
arr.sort()
print(arr[0])
dictionary
for k, v in book.items() # 키 값과 밸류 값을 마음대로 꺼내 쓸 수 있음
- sorted(a.items(), key=lambda x: x[0])
- x[0]은 key값을 기준으로 정렬하는 것을 의미함
- sorted(a.items(), key=lambda x: x[1]
- x[1]은 value값을 기준으로 정렬하는 것을 의미함
다른 풀이 (lambda 사용)
import sys
import operator
from collections import defaultdict
read = sys.stdin.readline
book = defaultdict(int)
n = int(read().strip())
arr =[]
for i in range(n):
k = input().rstrip()
book[k] +=1
book = sorted(book.items()) #오름차순으로 정렬
print(sorted(book, key=lambda x : x[1], reverse=True)[0][0])
다른 분이 푼 풀이인데, 아직 나는 dict를 lambda로 푸는 것은 부족한 것 같다.
lambda 손에 익힐 것!
반응형
'코딩테스트 대비 > 백준(BOJ)' 카테고리의 다른 글
| [Python][백준/BOJ] 9093번 : 단어 뒤집기 (0) | 2023.06.19 |
|---|---|
| [Python][백준/BOJ] 11931번 : 수 정렬하기 4 (0) | 2023.06.19 |
| [Python][백준/BOJ] 10825번 : 국영수 (0) | 2023.06.19 |
| [Python][백준/BOJ] 1764번 : 듣보잡 (0) | 2023.06.19 |
| [Python][백준/BOJ] 27866번 : 문자와 문자열 (0) | 2023.06.19 |