JSFiddle - React, Tailwind, and code Playground
by Mariya_Korotkova
JavaScript
/* function countPairs(n, arr) {
let pairs = 0;
arr.forEach((item,i, array) => {
let currentArr = arr.filter((color) => color === item);
let newArr = arr.filter((color) => color !== item);
console.log(Math.trunc(currentArr.length%2));
});
}
countPairs(3, [1, 1, 1, 1, 2, 3, 4]); */
function countPairs(n, arr) {
let pairs = 0;
let sortedArr = arr.sort((a, b) => a - b);
let currColor = sortedArr[0];
let currPairs = 0;
for (let i = 0; i < n; i++) {
if (sortedArr[i] !== currColor) {
pairs += Math.floor(currPairs / 2);
currPairs = 0;
currColor = sortedArr[i];
} else {
currPairs++;
}
}
return pairs;
}
console.log(countPairs(9, [10, 20, 20, 10, 10, 30, 50, 10, 20]));