Algorithm(2)
-
소수 판별법
1. 기본적인 소수 판별법 (Trial Division)시간 복잡도: O(√N)하나의 수 N에 대해 2부터 √N까지 나누어보는 방식간단하지만 큰 수에 대해서는 비효율적function isPrime(n) { if(n 2. 에라토스테네스의 체시간 복잡도: O(N log log N)공간 복잡도: O(N)범위 내 모든 소수를 한번에 찾을 때 효율적메모리를 많이 사용하는 단점function sieve(max) { let isPrime = new Array(max + 1).fill(true); isPrime[0] = isPrime[1] = false; for(let i = 2; i * i 3. 밀러-라빈 소수 판별법시간 복잡도: O(k log³ n)k는 테스트 횟수(witness 수)실제로는 ..
2025.05.07 -
자바스크립트 문제 풀이 기본적인 구조
// Node.js의 readline 모듈을 불러옴const readline = require('readline');// 즉시 실행 함수 (async를 사용하기 위한 비동기 함수)(async () => { // readline 인터페이스 생성 (표준 입력을 받기 위한 설정) let rl = readline.createInterface({ input: process.stdin }); // W와 R 변수를 루프 밖에서 사용하기 위해 미리 선언 let W, R; // 입력 스트림에서 한 줄씩 읽어오는 비동기 루프 for await (const line of rl) { // 입력받은 line을 공백으로 분리하고 숫자로 변환하여 W, R에 ..
2025.05.02