반응형
https://programmers.co.kr/learn/courses/30/lessons/72411
글쓴이의 답
개인적인 풀이 임으로
이것보다 더 좋은 알고리즘은 많음...
이렇게도 풀이하는구나.. 공유하기 위해 올림...
from itertools import combinations
def solution(orders, course):
answer = []
ordersList = []
for data in orders:
dataSize = len(data)
dataTemp = []
for num in range(dataSize):
dataTemp.append(data[num])
dataTemp = sorted(dataTemp)
ordersList.append(dataTemp)
for courseSize in course:
courseResult = {}
for data in ordersList:
case = list(combinations(data, courseSize))
caseSize = len(case)
for num in range(caseSize):
tempStr = ''.join(case[num])
if tempStr in courseResult:
count = courseResult.get(tempStr)
count += 1
courseResult[tempStr] = count
else :
courseResult[tempStr] = 1
countResult = 2
for val in courseResult.values():
if val > countResult:
countResult = val
for key, val in courseResult.items():
if countResult == val:
answer.append(key)
answer.sort()
return answer
꾸준히 하다보면 실력이 늘겠지..
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스][C++] [1차] 뉴스 클러스터링 (0) | 2022.03.21 |
---|---|
[프로그래머스][C++] 괄호 변환 (0) | 2022.03.21 |
[프로그래머스][C++] 행렬 테두리 회전하기 (0) | 2022.03.21 |
[프로그래머스][C++] 짝지어 제거하기 (0) | 2022.03.21 |
[프로그래머스][C++] 타겟 넘버 (0) | 2022.03.21 |