Algorithm/프로그래머스

[프로그래머스 스위프트] 폰켓몬

devKen 2022. 7. 27. 22:33

문제 요약

사실 이 문제는 스위프트를 지원하지 않습니만 그냥 파이썬으로 풀어봤고 스위프트 버전으로 풀어보려고 합니다.

중복이 허용되는 배열이 있고, 배열은 총 갯수가 항상 짝수입니다. 여기서 사용자는 배열의 반만큼만 선택하여 가질 수 있는 상황에서 최대한 다양한 숫자를 가지려고 합니다.

 

해답

import Foundation

func solution(nums: [Int]) -> Int {
	if Set(nums).count > nums.count / 2 {
    	return nums.count/2
    } else {
    	return Set(nums).count
    }
}
한줄로 풀려면

func solution(nums: [Int]) -> Int {
	return [Set(nums).count, nums.count / 2].min()!
}

 

아마 이러면 풀리지 않을까 싶다.