2024/11

JavaScript에서 Number의 큰 수 처리 한계, BigInt로 해결

백준 홀수일까 짝수일까(5988번) 라는 문제를 푸는데… 계속 ‘틀렸습니다’가 뜨는것이다. 이는 간단히 홀짝만 판단하면 되는 문제였다.분명히 올바르게 짠 코드 같은데, 대체 뭐가 문제였을까?먼저 문제를 간단히 설명하자면 다음과 같다. 문제 설명요약N개의 정수가 주어질 때, 각각 홀수인지 짝수인지를 출력하는 프로그램을 작성하는 것이다. 입력첫 번째 줄: 숫자의 개수 N(1 두 번째 줄부터 N+1번째 줄: 정수 K (1 2 1024 593출력N개의 줄에 걸쳐 한 줄씩 정수 K가 홀수라면 'odd'를, 짝수라면 'even'을 출력.even odd 내가 처음에 작성한 코드아래는 처음 작성한 코드다. 문제 조건에 맞춰 홀짝 여부를 판단했다.let input = require("fs").readFileSync("/..

JavaScript 2024.11.28

for문 내에 변수를 선언해도 괜찮을까?

도입JavaScript에서 변수를 선언할 때 종종 마주치는 고민이 있다.'for문 내부에 변수를 선언해도 될까? 아니면 for문 밖에서 선언하는 것이 더 좋을까?' 이런 고민이 생긴 이유는 let과 const는 var과 달리 재선언이 불가능하기 때문이다.또한 'for문 내부에서 변수를 선언하면 반복이 될 때마다 선언되니 메모리적으로 비효율적이지 않을까? 혹시 문제가 발생하지 않을까?'라는 생각도 들었다(아래 코드의 2번 방식). 하지만 실제로 사용해보면 아무런 문제가 발생하지 않는다. 그래서 그냥 넘어갔던 문제인데, 이러한 고민이 들 때마다 찝찝한 마음이 들어서 이번 기회에 확실히 정리하고자 한다. // 1. for 문 밖에서 변수를 미리 선언하고 재할당하는 방식let ny, nx;for (let i =..

JavaScript 2024.11.24