subtracting(_:)
는 겹치는 부분을 제외한 새로운 Set
을 만들어서 반환하는 메서드이다.
1부터 n(Array의 count)까지 Array에서 등장하지 않는 수를 구해야한다.
Set(1...nums.count)
로 1부터 n까지의 수를 넣은 Set을 생성한다.
.subtracting(nums)
로 위에서 만든 Set에서 입력받은 nums Array와 겹치는 부분을 제외한 새로운 Set
을 만든다.
func findDisappearedNumbers(_ nums: [Int]) -> [Int] {
if nums.isEmpty {
return nums
}
return Array(
Set(1...nums.count).subtracting(nums)
)
}