회식 자리에서 발표 순서를 정해야 하는데 가위바위보는 시간이 너무 오래 걸린다. 랜덤 숫자 뽑기로 각자 번호를 하나씩 받으면 10초 만에 끝난다. 추첨, 순서 정하기, 팀 나누기 같은 상황에서 무작위 숫자가 필요한 경우는 의외로 자주 생긴다.
랜덤 숫자가 쓰이는 곳
- 순서 정하기: 발표, 청소 당번, 좌석 배치
- 추첨: 이벤트 당첨자 선정, 제비뽑기 대용
- 게임: 주사위 대용, 보드게임 숫자 결정
- 학습: 수학 문제 출제용 난수 생성
- 테스트: 프로그램 테스트용 더미 데이터
공정한 무작위를 위한 조건
머릿속으로 '아무 숫자나' 떠올리면 사실 무작위가 아니다. 사람은 특정 숫자(7, 3 등)를 선호하는 경향이 있다. 진짜 공정한 추첨을 하려면 암호학적 난수 생성기(CSPRNG)를 쓰는 게 맞다.
참고 Math.random()으로 생성한 숫자는 예측 가능성이 있어서 보안 용도에는 적합하지 않다. 추첨이나 게임 용도라면 crypto.getRandomValues 기반 난수가 더 공정하다.
프리셋으로 빠르게 쓰는 법
랜덤 숫자 생성기를 열면 범위와 개수를 직접 설정할 수도 있고, 자주 쓰는 프리셋 버튼도 있다. 1~10, 1~100, 로또(1~45에서 6개), 주사위, 동전 던지기가 미리 설정되어 있어서 터치 한 번이면 결과가 나온다. 중복 제외 옵션을 켜면 같은 숫자가 두 번 나오지 않고, 오름차순 정렬도 가능하다.
숫자가 많을 때는 통계(최솟값, 최댓값, 평균, 합계)도 자동으로 보여주니까 테스트 데이터를 만들 때도 편하다. 결과를 바로 복사할 수 있어서 엑셀이나 채팅창에 붙여넣기만 하면 된다.