문제는 계속 풀었었는데, 생각보다 리뷰 작성하기가 쉽지 않은 것 같다.
다익스트라 알고리즘이랑 구현 문제 위주로 풀고 있는데, 풀릴 듯 말듯 애매하다
푸는데 5번은 시도했던 문제였다.왜 이렇게 안풀리는지ㅠㅠ
조합하고 Counter 이용해서 푸는 구현 문제 였다.
python에서 combinations은 자주 쓰이는 모듈이어서 꼭 기억해놔야겠다.
from itertools import combinations
from collections import Counter
def solution(orders, course):
answer = []
for i in course:
temp = []
for j in orders:
# 주어진 메뉴의 수의 조합의 수를 구함
combi = combinations(sorted(j),i)
temp += combi
#조합의 원소들의 갯수를 셈
counter = Counter(temp)
#print(counter)
#counter의 길이가 0이 아니고, max valuer가 1보다 큰 경우
if len(counter) !=0 and max(counter.values())>1:
#counter에서 가장 많이 나타난 원소를 answer에 append
answer+=[ ''.join(x) for x in counter if counter[x] == max(counter.values())]
return sorted(answer) ```
_텍스트_