본문 바로가기
메모장/코딩테스트 준비

백준 Python 1302번 (베스트셀러)

by code2772 2023. 2. 19.

[ 목차 ]

    728x90
    반응형

    문제 - 1302 김형택은 탑문고의 직원이다. 김형택은 계산대에서 계산을 하는 직원이다. 김형택은 그날 근무가 끝난 후에, 오늘 판매한 책의 제목을 보면서 가장 많이 팔린 책의 제목을 칠판에 써놓는 일도 같이 하고 있다.
    오늘 하루 동안 팔린 책의 제목이 입력으로 들어왔을 때, 가장 많이 팔린 책의 제목을 출력하는 프로그램을 작성하시오.

    song = int(input('오늘 책이 얼마나 팔렸나요?'))
    books = {} # books를 딕셔너리형 {}으로 초기화
    
    for _ in range(song):
        book = input('어떤 책이 팔렸나요?')
        if book not in books:
            books[book] = 1 # book이 기존 딕셔너리 books에 없다면 빈도를 1
        else:
            books[book] +=1
    
    max_freq = max(books.values()) # 최대 빈도를 max_freq에 저장
    
    best_seller=[]
    
    for book, number in books.items():
        if number ==max_freq:
            best_seller.append(book) #best_seller 리스트에 최대 빈도를 가진 책 리스트를 저장
    
    print('오늘의 베스트셀러 : ',sorted(best_seller)[0]) # 정렬한 값 중 첫 번째 값을 출력
    반응형