문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/72411
완전 탐색법을 이용해 푸는 문제였습니다.
알고리즘은 아래와 같습니다.
1. 각 주문마다 길이가 2 이상인 모든 조합을 만들어봅니다.
2. 해당 조합이 몇 번 등장했는지 map 자료구조를 통해 표시합니다.
2.1 2번에서 구한 조합 크기 내 가장 많이 시킨 조합을 구하는 것이 문제의 의도이므로 max 함수를 통해 같은 조합 크기 중 조합이 등장한 최대 횟수를 갱신해줍니다.
2.2 menus[조합 크기][조합 등장 횟수] 벡터에 해당 조합을 추가해줍니다.
3. 1번 ~ 2번 과정을 모든 주문에 대해 진행해줍니다.
4. course 벡터를 순회하며 2명 이상의 손님이 주문한 최대 조합을 구해주고 정렬을 한 뒤 반환해줍니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > programmers' 카테고리의 다른 글
[Programmers] 서울에서 김서방 찾기 (0) | 2021.12.18 |
---|---|
[Programmers] 문자열 압축 (0) | 2021.12.10 |
[Programmers] 두 정수 사이의 합 (0) | 2021.12.08 |
[Programmers] 가운데 글자 가져오기 (0) | 2021.12.07 |
[Programmers] [1차] 비밀지도 (0) | 2021.12.04 |