알고리즘/Python
[python] 프로그래머스 - 메뉴 리뉴얼
제주도랏맨
2023. 3. 10. 20:40
출처 : 프로그래머스, https://school.programmers.co.kr/learn/courses/30/lessons/72411
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그냥 짜는게 방법이라는걸 확신하는게 가장 어려운 것 같다.
더보기
풀이
from itertools import combinations
from collections import Counter
def solution(orders, course):
answer = []
combi_list = []
for order in orders:
for num in course:
combi_list += list(set("".join(sorted(combi)) for combi in combinations(order, num)))
combi_result = sorted(list([k, v] for k, v in Counter(combi_list).items() if v != 1), key = lambda x: (len(x[0]), -x[1]))
prev_len = 0
prev_max = 0
for string, count in combi_result:
if prev_len != len(string):
answer.append(string)
prev_max = count
prev_len = len(string)
else:
if prev_max == count:
answer.append(string)
return sorted(answer)
풀이가 너무 드럽다..
Github
GitHub - bh2980/Algorithm-Problem: 알고리즘 풀이 흔적들
알고리즘 풀이 흔적들. Contribute to bh2980/Algorithm-Problem development by creating an account on GitHub.
github.com