백준#1302 베스트셀러

정은경·2021년 11월 8일
0

알고리즘

목록 보기
42/125

문제


https://www.acmicpc.net/problem/1302

나의 풀이

selling_count = int(input())

data = {}

for _ in range(selling_count):
    book = input().strip()
    if book in data.keys():
        data[book] += 1
    else:
        data[book] = 1

max_count = max(data.values())
result = list(filter(lambda x: data[x]==max_count, data.keys()))
print(sorted(result)[0])

남의 풀이

  • 본 문제는 가장 많이 등장한 문자열을 출력하는 문제와 동일
  • 등장 횟수를 계산할 때는 파이썬의 dictionary 자룔형을 이용하면 효과적
n = int(input())

books = {}

for _ in range(n):
    book = input()
    if book not in books:
        books[book] = 1
    else:
        books[book] += 1

target = max(books.values())
array = []

for book, number in books.items():
    if number == target:
        array.append(book)

print(sorted(array)[0])
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글