반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프로그래머스광고삽입
- 광고삽입 파이썬
- 스타수열 파이썬
- 확률과우도
- 딥러닝파라미터
- 프로그래머스
- 데이터축소
- 인공신경망 학습
- 프로그래머스 누적합
- 로지스틱 최대우도
- 비트마스킹
- k겹 교차검증
- 모델경량화
- 딥러닝학습
- 인공지능 경진대회
- 프로그래머스 2차원동전뒤집기 파이썬
- 2차원동전뒤집기
- 자율성장 인공지능
- 과적합방지
- 메뉴리뉴얼 파이썬
- 머신러닝 학습 검증
- 스타수열
- 프로그래머스 2차원동전뒤집기
- AI경량화
- 딥러닝
- 카카오 메뉴리뉴얼
- 프로그래머스 스타수열
- 딥러닝 가중치 갱신
- MLE
- 카카오 코테 메뉴리뉴얼
Archives
- Today
- Total
머신러닝 개발자의 러닝머신
[프로그래머스 2021 KAKAO BLIND RECRUITMENT: 메뉴 리뉴얼] (Python) 본문
반응형
문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/72411
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 유형
- 문자열, 딕셔너리 자료형
접근 방법 & 풀이
- 손님들의 주문 목록마다 세트메뉴 가능한 모든 조합 구하기
이때, course 의 세트메뉴 구성 단품 갯수에 따라 관리하기 - course 세트의 메뉴 갯수에 따라 최대 주문 조합 리턴
코드
from itertools import combinations
def solution(orders, course):
answer = []
n = len(course)
candidate_dic = [{} for _ in range(n)] #course 의 세트의 단품 갯수에 따라 메뉴조합 관리
for order in orders: #모든 주문 목록마다
lst = list(order)
lst.sort() #알파벳 오름차순 정렬
#메뉴 갯수마다, 가능한 모든 조합 구하기
for i in range(n):
num = course[i]
if num > len(lst): #주문한 메뉴 갯수가 세트의 메뉴 갯수보다 작은 경우 continue
continue
for comb in combinations(lst, num): #가능한 모든 조합 구하기
menu = "".join(comb)
candidate_dic[i][menu] = candidate_dic[i].get(menu, 0)+1
# 각 course의 메뉴 갯수마다 가장 큰 주문 빈도를 가지는 메뉴 조합 최종 선택
for i in range(n):
if not candidate_dic[i]: #가능한 메뉴 조합이 없는 경우 continue
continue
max_cnt = max(list(candidate_dic[i].values())) #최대 주문 빈도
if max_cnt <2: #최대 빈도가 2번 미만이면 세트 구성 불가능
continue
for menu in candidate_dic[i]:
if candidate_dic[i][menu] == max_cnt: # 최대 빈도를 가지는 메뉴 모두 추가
answer.append(menu)
answer.sort() #메뉴 사전순 정렬
return answer
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스: 스타 수열] (Python) (0) | 2023.05.02 |
---|---|
[프로그래머스 2021 KAKAO BLIND RECRUITMENT: 광고 삽입] (Python) (0) | 2023.05.02 |
[프로그래머스: 2차원 동전 뒤집기(Python)] (1) | 2023.04.23 |
[프로그래머스: 무인도 여행(Python)] (1) | 2023.04.23 |
[프로그래머스: 둘만의 암호(Python)] (0) | 2023.04.23 |