문제설명
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
- return 값은 이진수를 의미하는 문자열입니다.
- 1 ≤ bin1, bin2의 길이 ≤ 10
- bin1과 bin2는 0과 1로만 이루어져 있습니다.
- bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다
입출력 예
bin1 | bin2 | result |
"10" | "11" | "101" |
"1001" | "1111" | "11000" |
입출력 예 설명
입출력 예 #1
- 10 + 11 = 101 이므로 "101" 을 return합니다.
입출력 예 #2
- 1001 + 1111 = 11000 이므로 "11000"을 return합니다.
정답
1. parseInt
- 주로 정수로 반환하던 기능
- 문자열을 파싱해서, 특정 진수의 정수로 반환이 가능하다.
const str = "10";
console.log(parseInt(str)); //10 (str을 정수로)
console.log(parseInt(str, 2)); //2 (2진수인 str을 10진수로)
2. toString
- 주로 숫자나 문자열이 아닌 변수를 string 타입으로 변환해주는 기능
- .toString(진수) 로 적어주면, 10진수를 특정 진수로 변환한 값 반환
const num = 10;
console.log(num.toString()); //"10" (num을 문자열로)
console.log(num.toString(2)); //"1010" (num을 2진수로)
정답
function solution(bin1, bin2) {
return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2)
}
문제설명
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.
제한사항
- return 값은 이진수를 의미하는 문자열입니다.
- 1 ≤ bin1, bin2의 길이 ≤ 10
- bin1과 bin2는 0과 1로만 이루어져 있습니다.
- bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다
입출력 예
bin1 | bin2 | result |
"10" | "11" | "101" |
"1001" | "1111" | "11000" |
입출력 예 설명
입출력 예 #1
- 10 + 11 = 101 이므로 "101" 을 return합니다.
입출력 예 #2
- 1001 + 1111 = 11000 이므로 "11000"을 return합니다.
정답
1. parseInt
- 주로 정수로 반환하던 기능
- 문자열을 파싱해서, 특정 진수의 정수로 반환이 가능하다.
const str = "10";
console.log(parseInt(str)); //10 (str을 정수로)
console.log(parseInt(str, 2)); //2 (2진수인 str을 10진수로)
2. toString
- 주로 숫자나 문자열이 아닌 변수를 string 타입으로 변환해주는 기능
- .toString(진수) 로 적어주면, 10진수를 특정 진수로 변환한 값 반환
const num = 10;
console.log(num.toString()); //"10" (num을 문자열로)
console.log(num.toString(2)); //"1010" (num을 2진수로)
정답
function solution(bin1, bin2) {
return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2)
}