(백준) 1302. 베스트셀러
입력값이 많을 경우 단순 input()을 사용할 때, 백준에서는 속도가 느려 시간 초과가 날 수 있다. 이유는 sys.stdin.readline()과 비교해서 prompt message를 출력하고, 개행 문자를 삭제한 값을 리턴하기 때문에 느리다. [Python] Input vs. sys.stdin.readline 차이점?을 참조하자!
그래서 input = sys.stdin.readline으로 명시 해주는 편이 좋다. 다만 개행 문자를 포함하기에 개행 문자 삭제가 필요한 경우 strip, rstrip, lstrip 등의 메소드를 이용하여 별도 처리 해줘야 됨
해당 문제는 dictionary 맵(JS에서 객체)을 이용하여 풀었다.
# -*- coding: utf8 -*-
# 시간제한 2초(초당 1~2억 연산), 메모리 제한 128MB
# 1 <= N <= 1000
import sys
input = sys.stdin.readline
books = {}
for i in range(int(input())):
book = input()
if book not in books:
books[book] = 1
else:
books[book] += 1
max_sell = max(books.values())
bestseller = []
for book, number in books.items():
if number == max_sell:
bestseller.append(book)
print(sorted(bestseller)[0])
Author And Source
이 문제에 관하여((백준) 1302. 베스트셀러), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wngud4950/백준-1302.-베스트셀러저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)