code.ashish.me

Atom feed

Recently added: 128 Longest Consecutive Sequence, 347 Top K Frequent Elements, 045 Jump Game 2, 228 Summary Ranges, 219 Contains Duplicate 2

1295 Find Numbers With Even Number Of Digits

/**
 * 
 * Ashish Patel
 * e: ashishsushilPatel@gmail.com
 * w: https://ashish.me
 *
 */

/* 
 * Given an array nums of integers, return how many of them contain an even number of digits.
 *  
 * Example 1:
 * Input: nums = [12,345,2,6,7896]
 * Output: 2
 * Explanation: 
 * 12 contains 2 digits (even number of digits). 
 * 345 contains 3 digits (odd number of digits). 
 * 2 contains 1 digit (odd number of digits). 
 * 6 contains 1 digit (odd number of digits). 
 * 7896 contains 4 digits (even number of digits). 
 * Therefore only 12 and 7896 contain an even number of digits.
 */

function checkEven(num){
  let noOfDigits = 0
  while(num > 0){
    num = Math.floor(num/10)
    noOfDigits += 1
  }
  return (noOfDigits % 2 === 0)
}

function findNumbersWithEvenNumberOfDigits(nums) {
  return nums.filter(n => checkEven(n)).length
}

test('find Numbers With Even Number Of Digits', () => {
  expect(findNumbersWithEvenNumberOfDigits([12,345,2,6,7896])).toEqual(2)
});

Created 2020-04-20T13:15:18+00:00 · Edit