Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

JH 개발 블로그

2021 카카오 코딩테스트 lv2. 메뉴 리뉴얼 파이썬 본문

코딩테스트/2021 KAKAO BLIND RECRUITMENT

2021 카카오 코딩테스트 lv2. 메뉴 리뉴얼 파이썬

쿠우우훈 2022. 1. 24. 02:24
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 리스트를 정렬합니다.

Comments