안녕하세요

[node.js] 10757 큰 수 A + B (자바스크립트) 기본수학단계1 본문

백준 자바스크립트

[node.js] 10757 큰 수 A + B (자바스크립트) 기본수학단계1

sakuraop 2022. 6. 5. 16:48

10757 큰 수 A+B

 

아래와 같이 큰 수 a,b를 입력 받아 a+b를 출력합니다.

9223372036854775807 9223372036854775808

결과

18446744073709551615

 

제출한 답

const [a, b] = require("fs").readFileSync("dev/stdin").toString().split(" ").map(BigInt);

console.log((a + b).toString());

 

  • .map(BigInt)
    자바스크립트는 정수형의 수는 2^53-1 까지만 온전하게 저장할 수 있습니다. 
    이보다 큰 수의 경우에는 숫자 끝에 'n'을 붙여 100n과 같은 형태로 이용하는데 이를 위한 함수가 BigInt입니다.
    100n 은 BitInt(100) 과 같습니다.
  • console.log((a + b).toString());
    결과값인 18446744073709551615n 의 typeof 함수의 출력값은 bigint 입니다.
    BigInt를 나타내는 n을 없애기 위해서는 toString() 함수를 이용합니다.
    18446744073709551615n 을 toStirng()으로 변환하게 되면 type이 string으로 변하면서 n 이 사라집니다.

    +
let bbb = 123n;
console.log(typeof bbb);
>> bigint
VSCode에서 123n 을 입력해 보면 n 이 다른 색상으로 처리가 된 것을 볼 수 있습니다.