본문 바로가기
Javascript/코딩테스트-연습

[JavaScript] 이진수 더하기 - 프로그래머스

by BeomBe 2024. 4. 2.
반응형

포스팅 하는 문제들은 난이도에 상관없이 아닌 알아두면 도움될만한 것들을 좀 더 기억하기위해 포스팅합니다.

문제 설명

 

나의 풀이

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

 

풀고나니 뭔가 문제에서 원하는건 이진수로 변환하여 사용할수있는가? 이거일것 같았다.

 

역시나 다른 분의 풀이를 보니 이게 더 맞는 풀이인것 같았다.

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);  // 반올림이 생길수있어 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();
}

 

반응형