[JS] Random()함수로 정수 난수 생성하기

업데이트:

Random()함수

자바스크립트에서 Random()함수를 이용해 난수를 만들어 보자.

1. 0이상 1미만 난수 생성하기

let result = Math.floor(Math.random());

2. 두 값 사이의 정수 난수 생성하기

예를들어 1~3사이의 난수를 생성하고 싶다면,
Math.random()의 결과인 0.xx에 3-1의 값인 2를 곱하면 0.xx * 2 = 0이상 2미만의 수인 0.xx, 1.xx가 되고 이 결과를 반올림해주기 위해 Math.floor()을 해주면 0,1이 나올 수 있다. 여기에 1을 더하면 1이상 3미만의 수인 1,2가 나오는 경우의 수가 만들어진다.

let result = Math.floor(Math.random() * (max - min)) + min;

3. 두 값을 포함하는 정수 난수 생성하기

위의 예시들은 범위의 최솟값과 최댓값 모두를 포함하지는 않는다. 2번은 최솟값만을 포함하고 있다.
만약 범위의 두 값을 포함하는 난수를 생성하고 싶다면 어떻게 식을 세우면 될까?
위와 똑같은 예시에서 0.xx에 3-1+1의 값인 3을 곱하면 0.xx * 3 = 0이상 3미만의 수가 된다.
이를 반올림Math.floor()해주면 나올 수 있는 정수는 0, 1, 2가 된다.
여기에 1을 더해주면 최종 나올 수 있는 경우의 수는 1, 2, 3이므로 범위의 최솟값과 최댓값을 포함하는 정수 난수가 생성된다.

let result = Math.floor(Math.random() * (max - min + 1)) + min;

태그:

카테고리:

업데이트: