이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
function solution(bin1, bin2) {
return (parseInt(bin1,2) + parseInt(bin2,2)).toString(2)
}
js에서는 toString 과 parseInt로 진수 변환을 아주 간단하게 할수 있다...!
function solution(bin1, bin2) {
let temp = Number(bin1) + Number(bin2);
temp = [...temp.toString()].reverse().map((v) => +v);
for (let i = temp.length; i < 11; i++) {
temp.push(0);
}
for (let i = 0; i < temp.length; i++) {
if (temp[i] === 2) {
temp[i] = 0;
temp[i + 1]++;
} else if (temp[i] === 3) {
temp[i] = 1;
temp[i + 1]++;
}
}
return Number(temp.reverse().join("")).toString();
}
(프로그래머스 박상훈 님의 풀이, 문제시 내리겠습니다.)
toString과 parseInt로 진수 변환하는것을 몰랐다면...
위와 같이구현할 수 있다.
메소드를 사용하는 것 보다 직접 로직을 구현하는것이 문제 해결능력을 더 향상 시킬 수 있을 것 같다.