이진 덧셈의 기초 -
이진 덧셈의 네 가지 규칙은 -
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' ]