728x90
SMALL
입력학 n개들의 책중 가장 많이 입력된 책의 이름을 출력해주는 알고리즘이다.
우선 책들의 중복을 제거한 값들과 책들을 비교하면서 책종류마다 카운트를 리스트로 만들었고
카운트가 담긴 리스트와 카운트 리스트의 MAX 값을 비교해 MAX가 한개 이상일 경우 temp 임시 리스트에 담아
값을 정렬하여 첫벗째 값으로 프린트해주었다.
# 베스트셀러
n = int(input())
book = []
for i in range(n):
book.append(input())
# 입력된 책들의 중복을 제거하여 책 종류만 리스트에 담는다.
bookList = list(set(book))
result = []
# 책 종류별로 몇권의 책이 있는지 개수를 리스트에 담는다.
for i in bookList:
cnt = 0
for j in book:
if i == j:
cnt += 1
result.append(cnt)
overlap = 0
temp = []
# 책 종류별 개수와 현재 존재하는 책들중 가장 큰값을 비교하여 temp 임시 테이블에 담는다.
for i in range(len(result)):
if result[i] == max(result):
overlap += 1
temp.append(bookList[i])
# max 값이 2개 이상인경우 책종류를 오름차순하여 첫번째 값의 책을 프린트해준다.
if overlap > 1:
temp.sort()
print(temp[0])
else:
print(temp[0])
728x90
LIST
'파이썬 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 가장 가까운 같은 글자 - Python(파이썬) (0) | 2024.03.23 |
---|---|
[프로그래머스] 과일 장수 - Python(파이썬) (0) | 2024.03.23 |
[백준] 통계학 - Python(파이썬) (0) | 2024.03.23 |
[백준] 덩치 - Python(파이썬) (0) | 2024.03.23 |
[백준] 분해합 - Python(파이썬) (0) | 2024.03.23 |