JavaScript

[JavaScript] - 백준 10757

Sonny Cucumber 2022. 3. 2. 16:46

문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)

출력

첫째 줄에 A+B를 출력한다.

예제 입력 1 복사

9223372036854775807 9223372036854775808

예제 출력 1 복사

18446744073709551615

 

 

내가 적은 코드

var fs = require("fs");
var input = fs.readFileSync("예제.txt").toString().split(" ");
let a = BigInt(input[0]);
let b = BigInt(input[1]);

console.log((a + b));

이렇게 적으면 출력 끝에 n이 나오게되서18446744073709551615n이렇게 나왔다

 

뭔가했더니 마지막에 toString()을 해줘야함왜냐면 bigInt는 끝에 n이 딸려오기때문

 

거기다bigInt는 2^53 -1 보다 큰 정수를 표현할 수 있는데bigInt를 한 수들끼리만 계산이 되고계산 후에는 n이 나오게 됨

 

또한 bigInt는 내장 Math객체의 메서드와 함께 사용XNumber와 혼합해서 못씀(당연하게도)

 

타입도 typeof 를 찍어보면 bigInt가 나옴

 

단순한 문제인 줄 알았는데 이런 알면서도(?) 모를 듯한메서드 들을 쓰게하는게 백준 브론즈 단계의 문제들인 것 같ah