안녕하세요? 이 질문글을 보고, 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년 전
python 소스 제출 번호: 40646435
nodejs 소스 제출 번호: 40646582
둘의 소스를 보면 로직은 같지만 파이썬은 통과가 되는 반면 노드는 채점시작하자마자 틀렸습니다라고 뜹니다.
어떻게 된 일일까요?
nodejs는 못 푸는 문제인가요?