JH 개발 블로그
2021 카카오 코딩테스트 lv2. 메뉴 리뉴얼 파이썬 본문
from itertools import combinations
from collections import Counter
def solution(orders, course):
answer = []
temp = []
for order in orders:
temp.append(sorted(order))
orders = temp
for size in course:
temp = []
for order in orders:
temp += combinations(order,size)
temp = Counter(temp).most_common()
for menu, cnt in temp:
if cnt >= 2 and cnt >= temp[0][1]:
answer.append(menu)
else:
break
return sorted(''.join(x) for x in answer)
1. orders 리스트의 각 주문음식은 정렬되어 있지 않기 때문에 먼저 정렬해 줍니다.
2. course 리스트의 사이즈 별로 각 주문음식들의 조합을 구해줍니다.
3. Counter 함수를 통해 주문 횟수가 2번 이상이면서 가장 많이 주문된 메뉴를 answer 리스트에 추가합니다.
4. answer 리스트를 정렬합니다.
'코딩테스트 > 2021 KAKAO BLIND RECRUITMENT' 카테고리의 다른 글
2021 카카오 코딩테스트 lv.3 카드 짝 맞추기 파이썬 (0) | 2022.01.26 |
---|---|
2021 카카오 코딩테스트 lv.3 광고 삽입 파이썬 (0) | 2022.01.25 |
2021 카카오 코딩테스트 lv.3 합승 택시 요금 파이썬 (0) | 2022.01.24 |
2021 카카오 코딩테스트 lv2. 순위 검색 파이썬 (0) | 2022.01.24 |
2021 카카오 코딩테스트 lv1. 신규 아이디 추천 파이썬 (0) | 2022.01.24 |
Comments