교집합을 통해 현 시점의 변동치 않는 '맞은 개수'를, 0의 개수를 통해 최대 더 추가 가능한 '맞을 개수'를 얻어낼 수 있다.
import Foundation
func solution(_ lottos:[Int], _ win_nums:[Int]) -> [Int] {
var zeroCnt = lottos.filter{$0 == 0}.count
var intersectionCnt = Set(lottos).intersection(Set(win_nums)).count
var (minCnt, maxCnt) = (intersectionCnt, intersectionCnt + zeroCnt)
minCnt = minCnt == 0 ? 6 : 7 - minCnt
maxCnt = maxCnt == 0 ? 6 : 7 - maxCnt
return [maxCnt, minCnt]
}