Search

PGS 메뉴 리뉴얼

URL
태그
정렬
브루트포스 알고리즘

문제 설명

손님들의 주문 내역에서 최소 2명 이상이 주문한 메뉴 조합 중 특정 코스 길이에 해당하는 가장 인기 있는 메뉴 조합을 찾아 사전순으로 정렬하여 반환하는 문제
가장 많이 함께 주문된 메뉴 구성이 여러 개라면, 모두 배열에 담아 return

예제 입력/출력

orders
course
result
["ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH"]
[2,3,4]
["AC", "ACDE", "BCFG", "CDE"]
["ABCDE", "AB", "CD", "ADE", "XYZ", "XYZ", "ACD"]
[2,3,5]
["ACD", "AD", "ADE", "CD", "XYZ"]
["XYZ", "XWY", "WXA"]
[2,3,4]
["WX", "XY"]

제약 조건

2orders202 ≤ |orders| ≤ 20
22 ≤ orders 원소 10≤ 10
1course101 ≤ |course| ≤ 10
22 ≤ course 원소 10≤ 10

문제 풀이

접근1 모든 코스 조합을 완전 탐색하는 방법 - O(NM2)O(N \cdot M^2)
접근 방법
시간 복잡도 계산
구현 방법

풀이 코드

풀이1 dict 자료구조 사용
풀이2 Counter 클래스 사용

알아두면 좋은 내용들

파이썬의 Counter 클래스

참고 자료