[JavaScript] 최소값(min), 최대값(max) number

2022. 9. 24. 20:29CodingTest/JavaScript Q

문제) 최소값(min), 최대값(max)을 받아 그 사이의 랜덤수를 return 하는 함수를 구현해주세요.

  • 함수는 짧지만, 이번에는 수학의 뇌를 조금 써야 하는 assignment 입니다. 🙌
  • 앞으로 랜덤함수를 쓸 일이 정말 많습니다. 
  • 그런데 Math.random() 으로는 내가 원하는 범위의 랜덤수를 얻을 수가 없습니다.
  • 항상 0.0000000000000000에서 0.9999999999999999 사이 값만 return 해주기 때문이죠.

랜덤수에 사용되는 method
let step = 5.44523
let str = Math.floor(step)         // 5 (소수점 내림)
let str = Math.ceil(step)          // 6 (소수점 올림)
let str = Math.round(step)         // 5 (소수점 반올림)
let str = Math.trunc(step)         // 5 (소수점 무시)
step.Math.toFixed(3)               // 5.457 (소수점 자리수 고정)
Math.pow(2, 3)                     // 2에3승 = 8  (제곱근)

기본적으로 0~9까지의 자연수를 얻을 경우 이런식으로 정의한다
let result = Math.floor(Math.random() * 10)
function getRandomNumber (min, max) { 
  let result = Math.floor(Math.random() * (max-min+1))+min;
  return result; 
}
console.log(getRandomNumber(1, 9))