문제 요약
사실 이 문제는 스위프트를 지원하지 않습니만 그냥 파이썬으로 풀어봤고 스위프트 버전으로 풀어보려고 합니다.
중복이 허용되는 배열이 있고, 배열은 총 갯수가 항상 짝수입니다. 여기서 사용자는 배열의 반만큼만 선택하여 가질 수 있는 상황에서 최대한 다양한 숫자를 가지려고 합니다.
해답
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()!
}
아마 이러면 풀리지 않을까 싶다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
| [프로그래머스 스위프트] 타겟넘버 (0) | 2022.08.15 |
|---|---|
| [프로그래머스 스위프트] 올바른 괄호 (0) | 2022.07.31 |
| [프로그래머스 스위프트] 위장 (0) | 2022.07.31 |
| [프로그래머스 스위프트] 콜라츠 추측 (0) | 2022.07.29 |
| [프로그래머스 스위프트] 음양더하기 (0) | 2022.07.27 |