Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 숫자 문자열을 바이너리 형태로 변환하는 방법

문제

숫자로만 구성된 문자열을 입력받아, 5보다 작은 숫자는 모두 '0'으로, 5 이상인 숫자는 모두 '1'로 바꾼 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다.

예제

다음은 전체 코드입니다 −

const str = '262355677834342';
const convert = (str = '') => {
   let res = '';
   for(let i = 0; i < str.length; i++){
      const el = +str[i];
      if(el < 5){
         res += 0;
      }else{
         res += 1;
      };
   };
   return res;
};
console.log(convert(str));

출력

010011111100000

코드 설명

위 함수의 동작 원리는 다음과 같습니다.

먼저 빈 문자열 res를 선언하여 결과를 저장할 준비를 합니다. 이후 반복문을 통해 입력 문자열의 각 문자를 하나씩 순회하면서, 단항 더하기 연산자(+)를 사용해 해당 문자를 숫자로 변환합니다. 변환된 값이 5보다 작으면 결과 문자열에 '0'을 추가하고, 5 이상이면 '1'을 추가합니다. 모든 문자에 대한 처리가 끝나면 최종적으로 완성된 문자열을 반환합니다.

예를 들어 입력값 '262355677834342'의 경우, 앞의 2와 6에서 각각 0과 1이 생성되고, 이러한 과정이 문자열 끝까지 반복되어 최종 결과인 010011111100000이 출력됩니다.