mizukikawaii   2년 전

python 소스 제출 번호: 40646435

nodejs 소스 제출 번호: 40646582

둘의 소스를 보면 로직은 같지만 파이썬은 통과가 되는 반면 노드는 채점시작하자마자 틀렸습니다라고 뜹니다.

어떻게 된 일일까요?

nodejs는 못 푸는 문제인가요?

wizardrabbit   2년 전

안녕하세요? 이 질문글을 보고, Node.js로 문제풀이를 시도해 본 후 맞췄습니다.

제 코드입니다: https://www.acmicpc.net/source... (이미 해당 문제를 맞추셨으니 보실 수 있겠죠)

저도 첫 번째 제출 시 틀렸으며, 이후 생각해 본 결과, 출력해야 할 경험치의 값이 Node.js에서 다루기에는 너무 큰 것을 확인했습니다. 경험치의 값이 엄청나게 큰 상황이라면 n과 k가 모두 300,000이고, 퀘스트에서 얻을 수 있는 경험치가 모두 100,000,000인 상황이겠죠. 이 경우 얻게 되는 경험치는...

0 + 1억 + 2억 + 3억 + ... + 299,999억 = 4499985000000000000

임을 알 수 있습니다. Node.js에서 변수에 저장하기에는 너무 큰 수여서, 저 큰 수에 어떤 수를 더하려고 하면 수가 생략되면서 다른 결과가 나올 것입니다.

이를 해결하기 위해 저는 매우 큰 수를 저장할 수 있는 BigInt를 사용하여 풀었습니다. BigInt에 대한 설명글입니다: https://developer.mozilla.org/...

BigInt를 사용하면 매우 큰 수도 저장할 수 있고 연산도 할 수 있으나, 할 수 있는 연산은 제한적인 것이 특징입니다. BigInt를 사용하여 다시 문제를 풀어보시겠어요?

문제 해결에 도움이 되기를 바랍니다.

mizukikawaii   2년 전

아 그렇네요 제가 안일했습니다..

진짜 감사합니다. 덕분에 풀었습니다 사랑합니다!

댓글을 작성하려면 로그인해야 합니다.