JSFiddle - React, Tailwind, and code Playground

by Slico

JavaScript

function sockMerchant(n, ar) {
  // check for each element in the array if there are pairs
  // if there are pairs, increment found pairs number
  let checkedNumber = 0;
  let results = {}

  for (var i = 0; i < ar.length; i++) {
    var currentNumber = ar[i]
    for (var j = 0; j < ar.length; j++) {

      if (currentNumber === ar[j]) {
        checkedNumber += 1
      }

    }

    results[ar[i]] = checkedNumber
    checkedNumber = 0
  }

  var totalPairs = 0
  for (var result in results) {
    if (results[result] > 1) {
      if (results[result] % 2 === 0) {
        totalPairs += (results[result] / 2)
      } else {
				totalPairs += ((results[result] - 1) / 2)
      }
    }
  }

  return totalPairs

}

sockMerchant(9, [10, 20, 20, 10, 10, 30, 50, 10, 20])