이진수 더하기

Haizel·2023년 4월 17일
0

🧬 알고리즘 풀이

목록 보기
10/53
post-thumbnail

문제 설명

이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.

입출력 예

bin1bin2result
"10""11""101"
"1001""1111""11000"

풀이

function solution(bin1, bin2) {
return (parseInt(bin1, 2) + parseInt(bin2, 2)).toString(2)
}

💡 코드풀이


  1. bin1과 bin2를 parseInt함수를 통해 2진수의 정수값으로 반환하고 → 각 값을 더한다.
  2. toString의 매개변수를 통해 더한 값을 2진수로 변환해 리턴한다.


ParseInt()

: 문자열 인자를 파싱하여 특정 진수의 정수를 반환하는 함수이다.

구문

parseInt(string)

string

  • 파싱할 값
  • 문자열이 아닌 경우, ToString 추상 연산을 사용해 문자열로 변환하며 이때 문자열의 선행 공백은 무시한다.
parseInt(string, radix)

radix

  • string 의 진수를 나타내는 2~36까지의 정수
  • 숫자 타입이 아닌 경우, Number 자료형으로 변환

반환값

  1. String의 정수 값
  2. NaN
    • radix가 2보다 작거나 36보다 큰 경우
    • 공백이 아닌 첫 문자를 숫자로 변환할 수 없는 경우

참고자료 | MDN


toString()

: 문자열을 반환하는 object의 대표적인 방법이다.

구문

.toString()
.toString(radix)

radix

  • 숫자 및 BigInts는 선택적으로 기수(radix)를 매개변수로 취하며, 이때 기수의 값은 2~36까지이다.
  • 기수(radix)를 이용해 10진수를 → 다른 기수로 변환할 수 있다.
10.toString(2)
//10진수 -> 2진수로 변환 "1010" 출력

참고자료 | MDN

profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글