오늘은 점심 메뉴를 추천해주는 프로그램을 만들어 보겠습니다.

1. 프로그램 개요

추천 프로그램은 무작위로 한식, 양식, 일식 중 한 가지를 선택합니다. 그리고 해당 카테고리에 맞는 메뉴들을 낮은 가격순으로 오름차순 정렬해서 보여줍니다.

이때, 다음과 같은 조건이 붙습니다.

2. 문제

1. 카테고리별로 나누기

메뉴와 가격 리스트는 각각 다음과 같습니다. 이때 메뉴명은 중복이 없다고 가정합니다.

menu_list = [
    "한식-김치볶음밥",
    "일식-초밥",
    "한식-김치찌개",
    "한식-콩나물국밥",
    "양식-스파게티",
    "한식-비빔밥",
    "양식-스테이크",
    "양식-햄버거",
    "한식-칼국수",
    "한식-삼계탕",
    "일식-돈까스",
    "일식-우동",
]
prices = [6000, 9000, 7000, 6000, 7000, 6000, 10000, 4000, 6000, 10000, 9000, 8000]

메뉴와 가격은 같은 순서로 두 리스트에 나누어 들어있습니다. 이 두 리스트로부터 각각의 카테고리별 메뉴/가격 정보를 묶어서 분리시켜야합니다. 예를 들어 아래와 같이 딕셔너리로 분리할 수 있겠죠? 물론 리스트나 다른 자료형으로 분리해도 됩니다.

<aside> 💡 메뉴 이름에서 카테고리 이름(한식, 일식, 양식)이 빠져있다는 걸 눈치채셨나요?

</aside>

korean_menu = {"김치볶음밥": 6000, ...}
japanese_menu = {"초밥": 9000, ...}
western_menu = {"스파게티": 6000, ...}

2. 베이스 클래스 / 카테고리별 클래스 구현하기

이제 분리된 카테고리별 메뉴/가격 정보로부터 데이터를 담을 클래스들을 구현해 보겠습니다. 먼저 각 메뉴별 클래스의 베이스 클래스인 Food 클래스를 작성합니다. 해당 클래스는 생성자에서 메뉴 정보를 받아, sort_menus 라는 메소드에서 메뉴를 가격순으로 오름차순 정렬합니다.