728x90
https://programmers.co.kr/learn/courses/30/lessons/72411?language=python3
조합으로 모든 경우를 찾은 후에 해싱하고 가장 큰 값을 찾는 문제
파이썬은 combinations 와 Counter가 있어 편함
카운터는 모든 키에 대해 몇개인지 값을 더해줌
join을 사용하면 원하는 값만 골라올 수 있음
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
from itertools import combinations
from collections import Counter
def solution(orders, course):
answer = []
for i in course:
temp=[]
for j in orders:
combi = combinations(sorted(j),i)
temp+=combi
counter = Counter(temp)
if len(counter) !=0 and max(counter.values())>1:
answer +=[''.join(x) for x in counter if counter[x]==max(counter.values())]
return sorted(answer)
|
cs |
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV 2 ] 수식 최대화 파이썬/python (0) | 2021.06.03 |
---|---|
[프로그래머스 LV 2] 예상 대진표 파이썬/python (0) | 2021.06.03 |
[프로그래머스 LV 2] [1차] 뉴스 클러스터링 C++/파이썬 (0) | 2021.05.19 |
[프로그래머스 LV 2 ] 오픈채팅방 C++/python (0) | 2021.05.19 |
[프로그래머스 LV 1] 음양 더하기 파이썬/python (0) | 2021.05.18 |