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를 사용