728x90
문제
https://level.goorm.io/exam/49094/%EA%B5%AC%EB%A6%84%EC%9D%B4%EC%9D%98-%EC%B7%A8%EB%AF%B8/quiz/1
풀이
이 문제는 Javascript의 BigInt를 다루는 문제이다.
BigInt는 일반적인 숫자들과는 달리 이상의 수를 사용 혹은 연산할 수 있게 한다.
하지만, Number와 BigInt를 혼합해서 사용할 수 없다.
이를 해결하기 위해 Number 형식의 값도 BigInt로 바꿔서 연산을 진행했다.
BigInt값을 생성하는 방법으로 두가지를 사용했다.
- BigInt 생성자 함수를 이용해 생성
- Number 값 뒤에 n을 붙여 생성
또한, 부피 행렬의 합은 수학 공식을 사용했다.
코드
// Run by Node.js
const readline = require('readline');
(async () => {
let rl = readline.createInterface({ input: process.stdin });
let n;
for await (const line of rl) {
n = BigInt(line);
}
rl.close();
let sum = BigInt((n * (n + 1n) / 2n) ** 2n) % BigInt(1000000007);
console.log(`${sum}`.split('n')[0]);
process.exit();
})();
728x90
'코딩 테스트 > 구름 Goorm' 카테고리의 다른 글
[Node.js] 구름 Level 3_ 단풍나무 (0) | 2024.06.15 |
---|---|
[Nodejs] 구름_사은품 교환하기 (0) | 2024.06.13 |
[Node.js] 단어장 만들기 (0) | 2024.06.12 |
[Node.js] 이진수 정렬 (0) | 2024.06.12 |
[난이도 2] 장마 (0) | 2024.06.11 |