๐Ÿ”ฌComputer Science/์ฝ”๋”ฉํ…Œ์ŠคํŠธ

๋ฐฑ์ค€ 15740, A+B - 9, 40์  ๋งž์€ ์ด์œ , node.js

hellohailie 2022. 6. 26. 01:17

 

๋ฐฑ์ค€ 15740, A+B - 9 ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋Š”๋ฐ 40์ ์ด ๋‚˜์™”๋‹ค. 

์ฒ˜์Œ์—๋Š” ์™œ 40์ ๋งŒ ๋งž์•˜๋Š”์ง€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์•˜๋Š”๋ฐ ์ด๋ฒˆ์— ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋œ ๋‚ด์šฉ์ด ์žˆ์–ด์„œ ์ •๋ฆฌํ•œ๋‹ค. 

 


๋ฌธ์ œ

๋‘ ์ •์ˆ˜ A์™€ B๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ๋‹ค์Œ, A+B๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— A์™€ B (-1010000  A, B ≤ 1010000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— A+B๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์„œ๋ธŒํƒœ์Šคํฌ

๋ฒˆํ˜ธ๋ฐฐ์ ์ œํ•œ
1 5 0 ≤ A, B ≤ 10
2 10 -100 ≤ A, B ≤ 100
3 10 0 ≤ A, B ≤ 109
4 15 -109  A, B ≤ 109
5 15 0 ≤ A, B ≤ 260
6 20 -260  A, B ≤ 260
7 20 0 ≤ A, B ≤ 1010000
8 5 -1010000  A, B ≤ 1010000
 


40์  ๋‚˜์˜จ ์ฝ”๋“œ

const fs = require("fs");
const [a, b] = fs.readFileSync("test.txt").toString().trim().split(" ");

const bigA = BigInt(a);
const bigB = BigInt(b);

console.log(bigA + bigB);

 

100์  ๋‚˜์˜จ ์ฝ”๋“œ

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

const bigA = BigInt(a);
const bigB = BigInt(b);

console.log((bigA + bigB).toString());

 

โžฅ ์ด ๋ฌธ์ œ๋ฅผ 100์  ๋งž์œผ๋ ค๋ฉด BigInt ํƒ€์ž…์„ ํ™œ์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ , ์ด๋ฅผ string ํƒ€์ž…์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค. 

 

๊ทธ ์ด์œ ๋Š” BigInt๋Š” Number ์›์‹œ๊ฐ’์ด ์•ˆ์ •์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์น˜์ธ 2^53 - 1๋ณด๋‹ค ํฐ ์ •์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด์žฅ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

BigInt๋ฅผ ์จ์ฃผ๊ณ  String์œผ๋กœ  ์„ ์–ธํ•ด์•ผํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. (์ด ๋ถ€๋ถ„์€ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๋ถ€๋ถ„ ์ž…๋‹ˆ๋‹ค. )

 

 

 

์ฐธ๊ณ )

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/BigInt

 

 

๐Ÿ˜ƒ ์ž˜๋ชป๋œ ๊ฐœ๋… ์ „๋‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ €์˜ ์„ฑ์žฅ์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค๐Ÿค“