단순히 파라미터로 입력받은 두 값을 더한 후 이진 문자열로 반환하면 되는 문제이다.
다만 값이 매우 크기 때문에 parseInt
를 통해서는 정상적인 변환이 불가하다
javascript에선 0b
문자를 이진 문자열 앞에 붙임으로써 정수가 아닌 2진수 임을 명시할 수 있다.
실제로 Number('0b1010')
은 정수 10을 반환한다.
하여 2진수로의 덧셈을 BigInt
자료형으로 실행한 후 이진 문자열로 반환하면 끝
function addBinary(a: string, b: string): string {
// 두 이진 문자열을 BigInt로 직접 변환하여 합산
const aNum = BigInt("0b" + a)
const bNum = BigInt("0b" + b)
const sum = aNum + bNum
return sum.toString(2) // 결과를 이진 문자열로 반환
}