본문으로 건너뛰기
AZ Tools

추첨기

이름 목록에서 N명을 뽑으세요 — 암호학적 난수로 공정하게, 중복 허용 선택 가능.

사용법

  1. 참가자를 한 줄에 한 명씩 입력/붙여넣으세요.
  2. 뽑을 인원을 설정하세요.
  3. 규칙에 따라 '중복 허용'을 토글하세요.
  4. 추첨 버튼을 누르고 결과를 복사하세요.

자세한 설명

펼치기

한 줄에 하나씩 이름 목록을 넣고 몇 명을 뽑을지 정한 뒤 한 번의 클릭으로 당첨자를 선정하세요. 난수는 일반 생성기가 아니라 Web Crypto API에서 가져오며, 기각 표집 방식으로 뽑습니다. 32비트 범위의 고르지 않은 꼬리 부분에 해당하는 값은 버리고 다시 뽑기 때문에, 단순한 나머지 연산이 만들어 내는 약간의 편향 없이 모든 항목이 정확히 같은 확률을 갖습니다. 같은 이름이 다시 나올 수 있는 룰렛식 추첨에는 중복을 켜고, 서로 다른 당첨자를 원하면 끄세요. 중복을 끄면 뽑힌 항목이 후보에서 제거되며, 항목 수보다 많은 당첨자를 요청할 수 없습니다. 아무것도 업로드되지 않고 결과도 저장되지 않습니다.

자주 묻는 질문

얼마나 무작위인가요?

crypto.getRandomValues와 거부 샘플링을 사용해 모든 참가자가 정확히 같은 확률을 가집니다 — modulo 편향 없음.

'중복 허용'은 무슨 뜻인가요?

끔: 당첨자는 모두 다른 사람(비복원 추출). 켬: 같은 사람이 여러 번 뽑힐 수 있음(복원 추출) — 룰렛형 추첨에 적합.

참가자는 몇 명까지?

수천 명도 문제없습니다. 비복원 추출은 O(n), 복원 추출은 O(k)입니다.

입력값이 저장되나요?

아니요 — 현재 페이지에서만 유지되며 어떤 곳으로도 업로드되지 않습니다.

기각 표집이 무엇이고 왜 중요한가요?

난수 생성기는 32비트 수를 만들어 내는데, 뽑으려는 범위가 그 안에 딱 떨어지는 경우는 드뭅니다. 나머지를 그대로 쓰면 앞쪽 항목이 조금 더 자주 뽑히므로, 고르지 않은 꼬리 구간에 떨어진 값은 버리고 다시 뽑습니다. 편향은 작지만 실제로 존재하고 피할 수 있는 것입니다.

공개 경품 추첨에 써도 되나요?

추첨 자체는 공정하지만, 보여 줄 수 없는 공정함은 떨어진 사람들에게 큰 의미가 없습니다. 여기서는 아무것도 기록되지 않고 사후에 검증할 수도 없으므로, 참가자가 지켜보는 자리에서 뽑거나 시드와 증명을 공개하는 서비스를 쓰세요.

관련 도구