-
메뉴 리뉴얼Programming/Programmers 문제풀이 2021. 3. 8. 13:39728x90
조합과 collections을 이용하면 풀리는 문제,
처음에는 복잡하게 생각하다가...문제가 이렇게 복잡할수는 없다라고 생각하고 다시 풀어본 문제
python 풀이를 한 사람들은 대부분 combinations과 collections를 사용해서 풀었던것 같다.
def solution_kakao_2(orders, course): answer = [] for k in course: candidates = collections.defaultdict(int) for menu_li in orders: for li in list(combinations(menu_li, k)): res = ''.join(sorted(li)) candidates[res] += 1 sorted_candidates = collections.Counter(candidates).most_common() print(sorted_candidates) answer += [menu for menu, cnt in sorted_candidates if cnt>1 and cnt== sorted_candidates[0][1]] return sorted(answer)
'Programming > Programmers 문제풀이' 카테고리의 다른 글
백준 14888 - 연산자 끼워넣기 (0) 2022.04.25 백준 1339 - 단어 수학 (0) 2022.04.24 신규 아이디 추천 (0) 2021.03.08 디스크 컨트롤러 (0) 2020.12.24