코드스테이츠(Algorithm with Math)

유승현·2021년 5월 10일
0

Algorithm의 수학적 개념 정리

제일 먼저 기본적인 최대공약수(GCD)와 최소공배수(LCM)을 구하는 방법을 복기 해보겠습니다.

  1. GCD
let getGCD = (A, B) => { //두 개의 수를 입력받는다.
    if(A % B === 0) {
      return B;
    }
    return getGCD(B, A % B);
}
  1. LCM
let getLCM = (A, B) => { //두 개의 수를 입력받는다.
  return a*b / getGCD(A, B)
}

이처럼 재귀함수?처럼 사용해서 멋진 코드를 작성할수있다는걸 알려주는 시간이였습니다

여러가지 상황을 설명해주고 응용하는 실력을 늘리는게 목표입니다.

  1. 순열과 조합
function permutator(inputArr) {
  let results = [];
  function permute(arr, memo) {
    let cur; 
    for (var i = 0; i < arr.length; i++) {
      cur = arr.splice(i, 1);
      if (arr.length === 0) {
        results.push(memo.concat(cur));
      }
      permute(arr.slice(), memo.concat(cur));
      arr.splice(i, 0, cur[0]);
    }
    return results;
  }
  return permute(inputArr, []); 
}
profile
멋진 사람이 되고 싶습니다.

0개의 댓글