2021 KAKAO BLIND RECRUITMENT_메뉴 리뉴얼.py

김규리·2021년 5월 18일
0

알고리즘 풀이

목록 보기
9/20

메뉴 리뉴얼.py

combination은 순서 상관없는 조합

문제 요약

단품 -> 코스요리, 순서 상관없으니깐 조합 combinations
두번 이상 세트로 주문되어야 메뉴 후보에 포함
코스요리를 구성하는 단품의 갯수가 담긴 배열,dictionary

풀이

from itertools import combinations
def solution(orders, course):
    answer = []

    for i in course:
        d = {}
        for j in orders:
            com = list(combinations(sorted(list(j)),i))
            for c in com :
                c = ''.join(c)
                if c in d:
                    d[c] += 1
                else :
                    d[c] = 1
        # 만들수 있는 조합 중 max 
        if d:
            m = max(d.values())
            if m < 2:
                continue
            for k,v in d.items():
                if m==v:
                    answer.append(k)
    return sorted(answer)

0개의 댓글