Dev/JavaScript

[JavaScript] 주어진 범위 내에서 임의의 정수를 생성하는 방법

BiCute 2023. 1. 12. 08:00
반응형

 

 

# 주어진 범위 내에서 임의의 정수를 생성하는 방법

function getRandomInt(min, max) {
    min = Math.ceil(min);
    max = Math.floor(max);
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

console.log(getRandomInt(1, 10));

작동 방식

 

1. 입력받은 최소값(min)을 올림(Math.ceil), 최대값(max)을 내림(Math.floor)한다.
  이는 min과 max가 소수일 경우 소수 자리를 제거하기 위함입니다.

 

2. Math.random 함수를 이용해 0과 1 사이의 임의의 실수를 생성한다. 

 

3. 생성한 임의의 실수에 (max - min + 1)을 곱한다.

  이는 min과 max 사이의 정수 중 하나를 생성하기 위함입니다.

 

4. 3번 과정에서 얻은 값에 min을 더한다. 

  이는 생성한 임의의 정수가 min과 max 사이의 범위를 갖도록 하기 위함입니다.

5. 4번 과정에서 얻은 값을 내림(Math.floor)한다.

  이는 생성한 임의의 정수가 min과 max 사이의 정수가 되도록 하기 위함이다.

  예를 들어 getRandomInt(1, 10)을 호출할 경우, 1과 10 사이의 정수 중 하나를 생성할 것이다.

  이 경우에는 생성된 임의의 정수가 2.3같은 실수일 경우, Math.floor 함수를 이용해 2로 바꾸어 정수로 만들어 줍니다.

 

 

반응형