'Front-end/JS' 카테고리의 글 목록
PureMax77 Dev Note
Front-end/JS
JavaScript로 최소공배수(LCM) 구하기
2025.12.17
최소공배수(Least Common Multiple, LCM)는 두 개 이상의 수의 공배수 중 가장 작은 수를 말합니다. 프로그래밍에서는 주로 알고리즘 문제나 수학 연산에서 자주 사용되는 개념이죠.최소공배수의 핵심 공식최소공배수는 최대공약수(GCD)를 이용하면 간단하게 구할 수 있습니다.LCM(a, b) = (a × b) / GCD(a, b)이 공식이 성립하는 이유는 두 수를 곱하면 공통 인수(GCD)가 중복으로 들어가기 때문입니다. 따라서 한 번 나눠주면 정확한 최소공배수가 됩니다.기본 구현GCD 함수는 이미 구현되어 있다고 가정하고, LCM 함수를 작성해봅시다.// GCD 함수 (유클리드 호제법)function gcd(a, b) { return b === 0 ? a : gcd(b, a % b);}//..
Front-end/JS
유클리드 호제법으로 최대공약수 구하기
2025.12.17
코딩 테스트를 준비하다 보면 최대공약수(GCD)를 구해야 하는 문제를 자주 만나게 됩니다. 오늘은 가장 효율적인 방법인 유클리드 호제법에 대해 알아보겠습니다.유클리드 호제법이란?유클리드 호제법(Euclidean Algorithm)은 기원전 300년경 고대 그리스 수학자 유클리드가 발견한 알고리즘으로, 두 수의 최대공약수를 빠르게 구하는 방법입니다.핵심 원리두 수의 최대공약수는 작은 수와 나머지의 최대공약수와 같다수식으로 표현하면:GCD(a, b) = GCD(b, a % b)동작 과정 예시48과 18의 최대공약수를 구해봅시다.1단계: GCD(48, 18)48 = 18 × 2 + 12→ GCD(18, 12)2단계: GCD(18, 12)18 = 12 × 1 + 6→ GCD(12, 6)3단계: GCD(12, 6..
Front-end/JS
[알고리즘] 조합, 순열 구하기
2021.06.30
조합 구하기 (배열에서 n가지 조합) const getCombinations = function (arr, selectNumber) { const results = []; if (selectNumber === 1) return arr.map((value) => [value]); // 1개씩 택할 때, 바로 모든 배열의 원소 return arr.forEach((fixed, index, origin) => { const rest = origin.slice(index + 1); // 해당하는 fixed를 제외한 나머지 뒤 const combinations = getCombinations(rest, selectNumber - 1); // 나머지에 대해서 조합을 구한다. // 돌아온 조합에 떼 놓은(fixed) ..