문제 링크

풀이 과정

전체 코드

from itertools import combinations
from collections import Counter

def solution(orders, course):
    answer = list()
    
    for course_num in course:
        menu_combs = list()
        for order in orders:
            menu_comb = combinations(sorted(order), course_num)
            menu_combs.extend(menu_comb)
        comb_counter = Counter(menu_combs)
        
        if (len(comb_counter) != 0) and (max(comb_counter.values()) >= 2):
            max_num = max(comb_counter.values())
            for comb, count in comb_counter.items():
                if count == max_num:
                    answer.append("".join(comb))
            
    return sorted(answer)