이진 덧셈의 기초 -
이진 덧셈의 네 가지 규칙은 -
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10
이러한 점을 염두에 두고 이진 덧셈은 10진 덧셈과 매우 유사합니다(캐리 원칙을 따름).
바이너리 문자열만 포함하는 두 개의 배열을 취하는 JavaScript 함수를 작성해야 합니다. ('0' 또는 '1').
함수는 배열에서 해당 바이너리 비트를 추가하고 해당 배열의 추가 결과를 포함하는 새 배열을 반환해야 합니다.
예를 들어 - 입력 배열이 -
인 경우const arr1 = ['1', '0', '1']; const arr2 = ['1', '0', '1'];
그러면 출력은 다음과 같아야 합니다. -
const output = ['1', '0', '1', '0'];
예시
이에 대한 코드는 -
const arr1 = ['1', '0', '1'];
const arr2 = ['1', '0', '1'];
const addBinary = (arr1 = [], arr2 = []) => {
const str1 = arr1.join('');
const str2 = arr2.join('');
let carry = 0, temp = 0, res = '';
for(let i = Math.max(str1.length, str2.length) − 1; i >= 0; i−−){
const el1 = +str1[i] || 0;
const el2 = +str2[i] || 0;
if(el1 + el2 + carry > 1){
temp = 0;
carry = 1;
}else{
temp = el1 + el2 + carry;
carry = 0;
};
res = temp + res;
};
if(carry){
res = carry + res;
};
return res.split('');
};
console.log(addBinary(arr1, arr2)); 출력
콘솔의 출력은 -
[ '1', '0', '1', '0' ]