JS레플릿 22.RandomNumber_10.20

송철진·2022년 10월 20일
0

Assignment

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

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

결과

1. floor 메소드로 구현하기

function getRandomNumber(min, max) {
  let randomNumber = Math.floor(Math.random()*(max-min+1)+min);
  return randomNumber;
}
console.log(getRandomNumber(4,10)); // 4이상 10이하 랜덤 정수

2. round 메소드로 구현하기

function getRandomNumber(min, max) {
  let randomNumber = Math.round(Math.random() * (max - min) + min);
  if(randomNumber <= max){
    return randomNumber;
  }else{
    getRandomNumber(min,max);
  }
}
console.log(getRandomNumber(4,10)); // 4이상 10이하 랜덤 정수

Today I Learn

수학 계산(참조): Math객체

1. round 함수: 반올림

console.log(Math.round(2.5)); // 3

활용: 별점(평점)의 평균을 내고 별을 색칠할 때

2. ceil 함수: 올림

console.log(Math.ceil(2.49)); // 3

3. floor 함수: 내림

console.log(Math.floor(2.5)); // 2

4. 랜덤함수

랜덤함수 Math.random()은 0.0000000000000000에서 0.9999999999999999 사이의 값에서 랜덤수를 제공합니다

var randomNumber = Math.random();
console.log(randomNumber);

활용: 로또, 이벤트 당첨자 뽑기 등

// ex) 0 ~ 9 랜덤수를 구하는 랜덤함수
var randomNumber = Math.random();
console.log(Math.floor(randomNumber*10));
profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글