import Foundation
func solution(_ topping:[Int]) -> Int {
var setOne = Set<Int>()
var answer = 0
// 딕셔너리로 토핑의 갯수와 토핑당 갯수가 몇개인지 확인
var dic = [Int:Int]()
for i in topping {
if dic[i] == nil {
dic[i] = 1
} else {
dic[i]! += 1
}
}
// 토핑 순서대로 dic에서는 토핑을 빼고 setOne에 토핑 대입
topping.forEach {
dic[$0]! -= 1
setOne.insert($0)
if dic[$0]! <= 0 {
dic.removeValue(forKey: $0)
}
// 두개의 갯수를 비교하여 같으면 정답에 +1
if dic.count == setOne.count {
answer += 1
}
}
return answer
}