티스토리 뷰

문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/72411?language=python3 

 

코딩테스트 연습 - 메뉴 리뉴얼

레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서

programmers.co.kr

 

 

 

파이썬이 확실히 편하긴 하네.. ㅋㅋㅋㅋㅋㅋ

좋긴하다.

 

 

 

 

from itertools import combinations


def solution(orders, course):
    answer = []
    
    counts = {}
    
    for order in orders:
        sorted_order = ''.join(sorted(list(order)))
        for l in range(2, len(sorted_order) + 1):
            for food in combinations(sorted_order, l):
                str_food = ''.join(food)
                
                if str_food not in counts:
                    counts[str_food] = 1
                else:
                    counts[str_food] += 1
    
    for length in course:
        temp = []
        max_count = 0
        for key, val in counts.items():
            if len(key) == length and val >= 2:
                if val > max_count:
                    temp = [key]
                    max_count = val
                elif val == max_count:
                    temp.append(key)
        answer += temp
    
    answer.sort()
    return answer

 

 

 

 

개발 환경 : vscode

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함