function solution(bin1, bin2) {
return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2);
}
parseInt()
는 문자열을 파싱해서 괄호안의 특정 진수값을 10진수를 정수로 만들어주는 메소드이다.toString()
은 괄호안이 숫자인 경우 선택적으로 기수(2~36)를 매개변수로 취하며,총 풀이
parseInt(bin1, 2) 라고 하면, bin1이라는 2진수 문자열을 10진수로 바꿔준다
2가 들어가있으니까 2진수라는 것을 알려주는 거고.
예를 들어, parseInt("110", 2) 라고 하면 10진수로 바꿨을 때 6이 나온다
parseInt(bin2, 2)도 마찬가지로 bin2를 2진수에서 10진수로 바꿔준다
(parseInt(bin1, 2) + parseInt(bin2, 2)) 이 부분은 바꾼 두 개의 10진수를 더한다
그리고 마지막으로 .toString(2)를 통해서 그 더한 값을 다시 2진수 문자열로 바꿔준다.
예시로, bin1이 "110"이고 bin2가 "101"이라고 할 때,
parseInt("110", 2)는 6이고, parseInt("101", 2)는 5가 된다.
6 + 5 = 11 이고, 11을 2진수로 바꾸면 "1011"이 된다.
그래서 내 코드는 "110"과 "101"을 받아서 "1011"을 반환하겠다는 거다.