사용 방법
- 숫자, 목록에서 뽑기, 동전·주사위 중에서 선택하세요.
- 숫자를 뽑으려면 최솟값, 최댓값, 필요한 개수와 소수 자릿수를 설정하세요. 복권처럼 중복 없이 뽑으려면 “중복 없음”을 선택하세요.
- 목록에서 뽑으려면 항목을 한 줄에 하나씩 붙여넣고 뽑을 개수를 선택하세요. 각 항목은 한 번만 뽑을 수 있습니다.
- 생성 또는 뽑기를 누른 다음 결과를 복사하세요. 다시 누르면 새로 뽑습니다.
작동 방식
숫자는 Math.random이 아니라 브라우저에 내장된 암호학적으로 안전한 생성기인 crypto.getRandomValues에서 가져옵니다. 일부 값이 더 자주 선택되는 편향 없이 범위 내 숫자를 얻기 위해 이 도구는 거부 샘플링을 사용합니다. 무작위 32비트 값이 범위 크기로 고르게 나눌 수 없는 맨 위의 불완전한 구간에 해당하면 해당 값을 버리고 새 값을 생성합니다. 단순히 “무작위 값 % 범위”를 사용하면 작은 숫자가 약간 더 자주 나옵니다.
최솟값과 최댓값이 모두 포함됩니다. 소수 자릿수를 지정하면 범위를 해당 간격의 단계로 나눕니다(소수 둘째 자리까지면 0.01). 각 단계가 같은 확률로 선택되므로, 소수 둘째 자리까지 설정한 0~1 범위에서는 101개 값 중 하나가 나옵니다. “중복 없이”는 추첨처럼 이미 나온 값을 제외하고 뽑습니다. 범위에 있는 값보다 더 많은 고유 숫자를 뽑을 수는 없으며, 이 경우 도구가 알려 줍니다.
목록에서 항목을 선택할 때는 Fisher–Yates 셔플로 줄을 섞은 뒤 처음 N개를 가져옵니다. 따라서 모든 항목의 선택 확률이 같고 같은 줄을 두 번 선택하지 않습니다. 중복된 줄은 별개의 항목으로 처리하므로, 두 번 적힌 이름은 당첨 기회가 두 번 있습니다. 빈 줄과 줄 앞뒤의 공백은 무시됩니다.
동전은 앞면과 뒷면이 같은 확률로 나오며, 주사위는 각각 1~6이 같은 확률로 나옵니다. 결과는 저장되지 않으므로 저희를 포함해 누구도 추첨 결과를 보거나 재현할 수 없습니다.
예시
복권 방식 추첨
최솟값 1, 최댓값 49, 개수 6으로 설정하고 “중복 없이”와 “정렬”을 켜면 4, 11, 23, 30, 37, 45와 같이 서로 다른 숫자 6개가 나옵니다.
경품 당첨자 뽑기
참가자 이름을 한 줄에 하나씩 붙여 넣고 3명을 뽑으세요. 참가자는 한 번만 당첨될 수 있으며, 모두에게 같은 당첨 확률이 주어집니다.
테스트용 무작위 소수
최솟값 0, 최댓값 1, 소수 셋째 자리로 설정하면 0.274 또는 0.901과 같은 값이 나옵니다. 가능한 1,001개 값이 모두 같은 확률로 선택됩니다.
자주 묻는 질문
숫자는 정말 무작위인가요?
운영체제가 하드웨어 이벤트를 바탕으로 시드값을 설정하는 브라우저의 암호학적으로 안전한 생성기에서 가져옵니다. 추첨과 보안 용도에 적합하지만, 규제를 받는 복권의 경우 인증된 장비를 요구하는 규정을 따르세요.
최솟값과 최댓값도 포함되나요?
네. 1~6 범위에서는 1, 2, 3, 4, 5, 6 중 하나가 모두 같은 확률로 나옵니다.
“중복 없이”를 선택했는데 왜 오류가 발생하나요?
중복 없이 뽑을 때는 범위 안에 있는 숫자보다 더 많이 뽑을 수 없습니다. 1~10 범위에는 서로 다른 정수가 10개뿐입니다. 범위를 늘리거나 소수 자릿수를 추가하거나 중복을 허용하세요.
나중에 누군가 추첨 결과를 확인하거나 재현할 수 있나요?
아니요. 결과는 저장되지 않으며 다시 입력할 수 있는 값으로 시드를 설정하지도 않습니다. 공개 추첨이라면 화면을 녹화하거나 결과를 즉시 복사해 두세요.
개인정보 보호
숫자와 목록은 브라우저에서만 생성되고 처리됩니다. 어떤 정보도 전송되거나 저장되지 않으며 분석 데이터에 포함되지 않습니다.