존은 옷가게에서 일합니다. 그는 판매를 위해 색상별로 쌍을 이루어야하는 양말 더미가 많이 있습니다. 각 양말의 색상을 나타내는 정수 배열이 주어지면 색상이 일치하는 양말 쌍 수를 결정하십시오.
예를 들어, 색상 이있는 양말이 있습니다. 한 쌍의 색 과 한 가지 색이 있습니다. 각 색상 중 하나에 3 개의 홀수 양말이 남아 있습니다. 쌍의 개수는입니다 .
아래 편집기에서 sockMerchant 기능을 완료하십시오 . 사용 가능한 양말 쌍과 일치하는 개수를 나타내는 정수를 반환해야합니다.
sockMerchant에는 다음과 같은 매개 변수가 있습니다.
- n : 말뚝의 양말 수
- ar : 각 양말의 색상
입력 형식
첫 번째 줄에는 양말의 수인 정수가 들어 있습니다 . 두 번째 줄에는 더미의 양말 색상 을 나타내는 공백으로 구분 된 정수 가 포함 됩니다 .
출력 형식
John이 판매 할 수있는 일치하는 양말 쌍 의 총 개수를 반환하십시오 .
샘플 입력
9
10 20 20 10 10 30 50 10 20
샘플 출력
3
// Complete the sockMerchant function below.
func sockMerchant(n int32, ar []int32) int32 {
nMap := make(map[int32]int32)
for _, color := range ar {
if _, exists := nMap[color]; !exists {
nMap[color] = 1
continue
}
nMap[color]++
}
var cnt int32
for _, val := range nMap {
cnt += val / 2
}
return cnt
}