문제
큰일이다. 정훈이는 자취방 밑에 편의점이 있다는 사실을 친구들에게 말했다.
친구들은 정훈이의 자취방을 찾기 위해 가톨릭대 주변 N개의 편의점 근처에서 잠복하기로 했다. 편의점 브랜드는 2마트, SeeYou, CS=25, MiniGo 등의 M개가 있다. 친구들은 편의점이 너무 많아 하루에 하나의 브랜드를 정하여 브랜드의 모든 편의점들을 잠복을 하기로 했다. 편의점마다 최소 1명이 잠복하고 M개의 브랜드가 있으므로 최소 M일이면 N개의 모든 편의점을 잠복할 수 있다. 정훈이가 언제 나타날지 모르기 때문에 M일의 잠복 계획표를 작성하려고 하는데 최소 몇 명이 있어야 모든 브랜드에 대해 편의점을 놓치지 않고 잠복할 수 있는지 구해보자.
입력
두 정수 N (1 ≤ N ≤ 1,000), M (1 ≤ M ≤ N)가 주어진다.
그 다음 줄에 N개의 각 편의점 브랜드 X (1 ≤ X ≤ M)가 정수로 주어진다.
출력
최소 몇 명이 모여야 하는지 출력한다.
코드
n, m = map(int, input().split())
arr = list(map(int, input().split()))
cnt = []
for i in range(0, max(arr) + 1):
cnt.append(arr.count(i)) # 각 편의점의 개수 세기
print(max(cnt)) # 편의점 개수 중 가장 큰 수 출력
풀이
이 문제는 문제를 이해하는데 좀 힘들었다... '하루에 하나의 브랜드를 정하여' 이 부분을 놓쳐서 머리를 싸매다 뒤늦게 알아차렸다ㅜㅜ 독해능력 기르기.. 문제 잘 읽기...
하지만 문제를 이해만 하면 정~말 간단한 문제였다. 단순히 최빈값 구하는 문제!
파이썬에서 리스트 요소 개수를 구해주는 함수 count를 사용하여 문제를 해결하였다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 9095번 1, 2, 3 더하기 (파이썬) (0) | 2022.01.17 |
---|---|
[백준] 2579번 계단 오르기 (파이썬) (0) | 2022.01.17 |
[백준] 20361번 일우는 야바위꾼 (파이썬) (0) | 2021.12.28 |
[백준] 10431번 줄세우기 (파이썬) (0) | 2021.12.27 |
[백준] 18868번 멀티버스Ⅰ(파이썬) (0) | 2021.12.27 |