[JS][백준]1271_엄청난 부자2
Algorithm/BaeKJoon

[JS][백준]1271_엄청난 부자2

문제 번호

 

1271번: 엄청난 부자2

첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수)

www.acmicpc.net

 

 

알고리즘 분류

 

문제 풀이

 문제난이도에 비해 정답률이 너무 낮아서 '어?' 하고 제출했다가 나도 틀렸다.

나누기, 나머지만 써서 풀면 되는줄 알았는데 주어지는 숫자의 범위가 최대 10^1000 이다. (난 이걸 100000 로 보고풀었다....)

 

 그래서 큰 숫자를 다룰 수 있는 자료형이 있는지 찾아보았다.(주어진 숫자를 string 으로 받아서 나눗셈을 직접 구현해도 된다.)

 

찾아보니까 BigInt 타입이라는게 있다.

 BigInt를 사용하면 Number 범위를 넘는 정수도 오차없이 안전하게 계산이 가능하다고 한다.

그래서 주어진 정수들을 BigInt로 받아서 연산하면 다음과 같이 나온다.

정수 뒤에 붙은 n을 제거해주기 위해서 결과값들을 string 으로 바꾸어서 출력했다. 

const fs = require('fs');
const input = fs.readFileSync('Z/input.txt').toString().trim().split('\n');
const nm = input.shift().split(' ');
const n = BigInt(nm.shift());
const m = BigInt(nm.shift());

console.log((n / m).toString());
console.log((n % m).toString());

특이사항

 

 

'Algorithm > BaeKJoon' 카테고리의 다른 글

[JS][백준]17255_N으로 만들기  (0) 2021.09.23
[JS][백준]1890_점프  (0) 2021.09.23
[JS][백준]16236_아기 상어  (2) 2021.09.17
[JS][백준]5582_공통 부분 문자열  (0) 2021.09.17
[JS][백준]17179_케이크 자르기  (0) 2021.09.17