프로그래머스 / 메뉴 리뉴얼 / python

맹민재·2023년 6월 27일
0

알고리즘

목록 보기
117/134
from itertools import combinations

def solution(orders, course):
    answer = []
    
    for c in course:
        com_dict = dict()
        for order in orders:
            if len(order) >= c:
                for com in combinations(order, c):
                    com = ''.join(sorted(com))
                    if com in com_dict:
                        com_dict[com] += 1
                    else:
                        com_dict[com] = 1
        
        if len(com_dict):
            _max = max(com_dict.values())
        if _max > 1:
            for com in com_dict:
                if com_dict[com] == _max:
                    answer.append(com)
        answer.sort()
    return answer

itertools를 사용한 구현문제

주어진 제한사항의 배열 크기들이 굉장히 작기때문에 완전탐색으로 해결가능하다. 완전 탐색으로 itertools의 combinations를 사용

profile
ㄱH ㅂrㄹ ㅈr

0개의 댓글