maymunskoa

More Zeros Than Ones (6kyu)

Mar 27th, 2020
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function moreZeros(s) {
  2.   let string = s;
  3.   let arr = string.split("");
  4.   let uniq = new Set();
  5.   arr.forEach(letter => {
  6.     uniq.add(letter);
  7.   });
  8.   let data = Array.from(uniq);
  9.  
  10.   const turnToBinary = letter => {
  11.     let code = letter.charCodeAt();
  12.     return code.toString(2);
  13.   };
  14.  
  15.   const formatBinary = binary => {
  16.     let index = binary.indexOf("1");
  17.     let binStr = binary;
  18.     if (index !== 0) {
  19.       binStr = binStr.substring(index);
  20.     }
  21.     return binStr;
  22.   };
  23.  
  24.   const evalBinary = binary => {
  25.     let binStr = binary;
  26.     let zeros = binStr.split("").filter(letter => letter === "0");
  27.     return zeros.length > binStr.length - zeros.length;
  28.   };
  29.  
  30.   let output = [];
  31.   data.forEach(letter => {
  32.     let currentBin = turnToBinary(letter);
  33.     if (evalBinary(formatBinary(currentBin))) {
  34.       output.push(letter);
  35.     }
  36.   });
  37.  
  38.   return output;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment