Alex works at a clothing store. There is a large pile of socks that must be paired by color for sale. Given an array of integers representing the color of each sock, determine how many pairs of socks with matching colors there are. code example
Example 1: Complete the sock Merchant function in the editor below. It must return an integer representing the number of matching pairs of socks that are available.
function sockMerchant(n, array) {
let count = 0;
const seen = {};
array.forEach((item) => {
if (seen[item]) { // one sock of this color was seen before, so this completes a pair
seen[item] = false;
count++;
} else { // this is the one in a pair
seen[item] = true;
}
});
return count;
}
Example 2: Complete the sock Merchant function in the editor below. It must return an integer representing the number of matching pairs of socks that are available.
function sockMerchant(n, ar) {
//Need to initiate a count variable to count pairs and return the value
let count = 0
//sort the given array
ar = ar.sort()
//loop through the sorted array
for (let i=0; i < n-1; i++) {
//if the current item equals to the next item
if(ar[i] === ar[i+1]){
//then that's a pair, increment our count variable
count++
//also increment i to skip the next item
i+=1
}
}
//return the count value
return count
}
Example 3: For example, there are n=7 socks with colors ar=[1,2,1,2,1,3,2]. There is one pair of color 1 and one of color 2.
function sockMerchant(n, ar) {
//Need to initiate a count variable to count pairs and return the value
let count = 0
//sort the given array
ar = ar.sort()
//loop through the sorted array
for (let i=0; i < n-1; i++) {
//if the current item equals to the next item
if(ar[i] === ar[i+1]){
//then that's a pair, increment our count variable
count++
//also increment i to skip the next item
i+=1
}
}
//return the count value
return count
}