문제
첫 번째와 두 번째 인수로 두 개의 바이너리 문자열 str1과 str2를 취하는 JavaScript 함수를 작성해야 합니다.
우리의 함수는 두 이진수의 합을 반환해야 합니다. 2진수를 10진수로 변환한 다음 더하면 결과 합계에 0이 전혀 포함되어서는 안 됩니다.
예를 들어, 함수에 대한 입력이 -
인 경우입력
const str1 = '1101'; const str2 = '10111';
출력
const output = '100100';
예시
다음은 코드입니다 -
const str1 = '1101'; const str2 = '10111'; const addBinary = (str1 = '', str2 = '') => { str1 = str1.split('').reverse(); str2 = str2.split('').reverse(); let res = '', temp = 0; while (str1.length || str2.length || temp) { temp += (~~str1.shift()) + (~~str2.shift()); let mod = temp % 2; res = mod + res; temp = temp > 1; }; return (+res) ? res.replace(/^0+/, '') : '0'; }; console.log(addBinary(str1, str2));
출력
100100