짝수(N)개의 숫자들중 N/2개를 뽑을때 최대한 다양한 숫자가 포함될 경우 몇개의 숫자가 포함되는지 구하는 문제
input
짝수개의 숫자가 포함된 배열 nums
output
최대로 다양한 숫자가 포함되었을때 숫자 종류의 개수
집합 set을 통해 중복되는 숫자를 없애고 뽑아야하는 개수(배열의 길이/2)와 비교하여 return
def solution(nums): l = len(nums) / 2 newnums = set(nums) if len(newnums) > l: return l else: return len(newnums)
모범코드1
def solution(ls): return min(len(ls)/2, len(set(ls)))
모범코드2
def solution(nums): kind = [] answer = int(len(nums)/2) # 3 for num in nums: if num not in kind: kind.append(num) result = len(kind) if answer > len(kind) else answer return result
주의)