



나의 코드
from itertools import permutations
from collections import Counter
def solution(orders, course):
answer = []
for i in course:
cos_list = []
for j in orders:
b=set()
for k in permutations(j, i):
b.add(tuple(sorted(k)))
for _ in b:
cos_list.append(_)
#print(b)
result = Counter(cos_list)
result = dict(sorted(result.items(), key=lambda x :x[1], reverse=True))
#print(result)
#print(max(result.values()))
for key, value in result.items():
if value == max(result.values()) and value!=1:
answer.append(''.join(key))
else:
break
answer.sort()
print(answer)
return answer
solution(["ABCDE", "AB", "CD", "ADE", "XYZ", "XYZ", "ACD"],
[2,3,5])

와 이제는 뭐 시간복잡도 안걸리는게 없다 ㅋㅋㅋㅋㅋㅋ
수정코드
from itertools import combinations
from collections import Counter
def solution(orders, course):
answer = []
for i in course:
cos_list = []
for j in orders:
b=set()
for k in combinations(j, i):
cos_list.append(''.join(sorted(k)))
#print(b)
result = Counter(cos_list)
print(result)
result = dict(sorted(result.items(), key=lambda x :x[1], reverse=True))
#print(result)
#print(max(result.values()))
for key, value in result.items():
if value == max(result.values()) and value!=1:
answer.append(''.join(key))
else:
break
answer.sort()
print(answer)
return answer
solution(["XYZ", "XWY", "WXA"],
[2,3,4])
ㅋㅋㅋㅋㅋ 아 콤비네이션 처음알았다 하...
오늘도 배워가요.ㅎㅎ.ㅎ.ㅎ.ㅎㅎ.ㅎ.ㅎㅎ.ㅎㅎㅎㅎ 하 ㅅ...
'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글
| 방금그곡 (0) | 2023.06.08 |
|---|---|
| 연속된 부분 수열의 합 (0) | 2023.06.04 |
| 두 큐 합 같게 만들기 (0) | 2023.06.02 |
| 택배상자 (0) | 2023.05.30 |
| [1차] 캐시 (0) | 2023.05.29 |