(중간 예시는 짤랐습니다)
이렇게 하니 아무래도 조합 계산 시 O(n!)
시간복잡도 때문인지 70점은 시간초과로 날라가길래 다른 방식으로 접근했다.
📌 어차피 문제에서 주목하는 건 종류이기 때문에 종류의 개수를 최대로 만드는 데 집중하면 된다
👉 결론적으로 두번째 방법이 훨씬 좋은 게, 첫번째 방식은 combinations랑 Counter등 가져다 쓸 게 많았는데 두번째는 고려할 게 확 줄어든다! (파이썬 알못인 나에게 good😇)
시간복잡도는 말할 것도 없고
def solution(nums):
nums_set = set(nums)
if len(nums_set)>=(len(nums)//2):
return (len(nums)//2)
else:
return len(nums_set)