1. 유용한 메소드

  1 - 1) Math.floor() : 가장 가까운 정수로 내림한다

  1 - 2) Math.round() : 가장 가까운 정수로 반올림한다.

  1 - 3) Math.ceil() : 가장 가까운 정수로 올림한다.

 

1
2
3
4
Math.floor(0.9// 0
Math.ceil(0.9// 1
Math.round(0.9// 1
Math.round(0.4// 0

cs

 

2. 소인수 분해 알고리즘 적용해보기

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//소인수 분해
function primeFacotrs(n) {
  let answer = [];
  //n이 2로 나눠진다면 나눠질 수 있을만큼 나눈다.
  while (n % 2 === 0) {
    n = n / 2;
    answer.push(2);
  }
  //이 지점에서 n은 홀수가 됨을 알 수 있다.
  //따라서 수를 두 개씩 증가시킬 수 있다.
  for (let i = 3; i <= n; i += 2) {
    while (n % i === 0) {
      n = n / i;
      answer.push(i);
    }
  }
  return answer;
}
cs

 

3. 무작위 수 생성기

  3 - 1) 자바스크립트에는 숫자를 생성하기 위한 내장 함수인 Math.random()이 있다.

  3 - 2) Math.random()은 0과 1 사이의 부동소수점을 반환한다.

  3 - 3) 1보다 큰 부동 소수점을 얻기 위해서는 random()함수에 범위를 곱하기만 하면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
function lotto() {
  let lottoNumber = [];
  for (let i = 0; i < 6; i++) {
    let random = Math.ceil(Math.random() * 44 + 1);
    lottoNumber.push(random);
  }
  return lottoNumber;
}
 
//random변수에 1~45사이의 무작위 정수가 매번 담긴다.
//매 반복마다 배열에 넣는다
//배열을 반환한다
//ex) [13, 43, 5, 17, 28, 36]
cs

 

*출처 : 자바스크립트로 하는 자료구조와 알고리즘, 지은이 : 배세민 엔지니어

+ Recent posts