Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript를 사용하여 십진수 값이 짝수인 이진 문자열 정렬

<시간/>

문제

공백으로 구분된 길이가 3인 바이너리 문자열을 포함하는 문자열을 받는 JavaScript 함수를 작성해야 합니다.

우리 함수는 숫자를 오름차순으로 정렬해야 하지만 짝수만 정렬하고 그 자리에 모든 홀수는 그대로 둡니다.

예시

다음은 코드입니다 -

const str = '101 111 100 001 010';
const sortEvenIncreasing = (str = '') => {
   const sorter = (a, b) => {
      const findInteger = bi => parseInt(bi, 2);
      if(findInteger(a) % 2 === 1 || findInteger(b) % 2 === 1){
         return 0;
      };
      return findInteger(a) - findInteger(b);
   };
   const res = str
   .split(' ')
   .sort(sorter)
   .join(' ');
   return res;
};
console.log(sortEvenIncreasing(str));

출력

101 111 100 001 010