Math 메소드를 이용한 랜덤 숫자 뽑기(범위 설정까지)
처음으로 Math 메소드에 아주 재미난 숫자 랜덤 시스템이 있답니다.
Math.random() 을 사용하게 되면 0~0.9999999999999999999999999999999 사이에서 숫자가 랜덤으로 구현됩니다.
따라서, 이 함수에 곱셈을 추가하여 범위를 늘리고 정수를 얻고 싶으면
Math.floor() : 숫자 내림 함수 / 를 이용하면 됩니다.
이번에도 노트에 작성을 하여 확인해 봤습니다.
만약에 범위를 3~15 사이의 숫자를 나타내고 싶으면 어떻게 해야할까.... 생각을 해봤습니다.
일단 0에 뭘 곱해도 0이니까 최소값을 마지막에 더해야겠다는 생각을 했습니다.
그리고 최대값은 나와야하는 숫자보다 1이 커야 15.99999999999999가 나와서 15가 될 것 같다는? 생각?
15.999999999-3 = 12.99999999 입니다.
따라서 13의 값을 곱하면 0~13 까지 되고 마지막에 3을 더하는 그런 시스템이 만들어집니다.
한가지 규칙으로는 알 수 없으니 4~15 까지 숫자중 랜덤 숫자를 생성하는 것도 생각해 보아요
마지막에 4를 더하니까 0~11.9999999999까지 숫자를 곱해야하기 떄문에 12를 곱해야 합니다.
이렇게 보니까 3~15 는 13을 곱하고 4~15는 12를 곱해야하니까 뭔가 규칙이 보이죠?
최댓값 - 최솟값 + 1 이라는...
이제 함수를 하나 만들어 볼게요.
로또 함수를 만들었습니다. 설명만 장황하고 막상 함수는 엄청 짧습니다. 그만큼 함축된.... 음..... 진한 홍삼 진액 같네요.
Math.floor를 한 이유는 소숫점으로 나오는 숫자를 정수화하기 위함이고,
그 안에 있는 함수는 위에 장황하게 이야기 한 것 처럼 미지수만 대입해 놓았습니다.
직접 노트에 써보시면서 코드를 해석해보아요.
'코딩 개발 > Javascript' 카테고리의 다른 글
JavaScript - Scope (0) | 2022.10.20 |
---|---|
JavaScript - 객체 (0) | 2022.10.20 |
JS - 만(滿) 나이 계산하기 (0) | 2022.10.19 |
JS - 배열 내 최솟값 찾기 (0) | 2022.10.19 |
Javascript (boot camp day3. / 충격적인 내용 작성) (0) | 2022.10.19 |