무작위 뽑기

토요일 당번은 누구인지, 누가 먼저 발표하는지, 남은 표 한 장은 누구 것인지. 아무도 밀 수 없는 뽑기만이 이것을 공평하게 정합니다. 그래서 여기서는 보통 난수가 아니라 브라우저의 암호용 난수를 쓰고, 목록은 기기를 떠나지 않습니다.

뽑기는 브라우저의 암호용 난수를 씁니다. 보통 난수가 아닙니다. 당번, 경품, 발표 순서에서는 이 차이가 중요합니다. 전송은 없고 목록은 이 기기에만 남습니다.

가까운 도구: 난수 생성기 · 비밀번호 생성기 · UUID 생성기 · 온라인 타이머

사용 방법

  1. 목록을 붙여넣습니다 — 한 줄에 한 명.
  2. 할 일을 고릅니다: 뽑기, 순서 섞기, 조 나누기.
  3. 버튼을 누릅니다. 몇 번이든 다시 뽑을 수 있습니다.

알아두면 좋은 점

보통 난수로는 왜 부족한가

흔히 쓰는 `Math.random()`은 중요한 일에 쓰라고 만든 것이 아닙니다. 앞선 값들로 다음 값을 예측할 수 있습니다. 당번, 경품, 발표 순서를 정한다면 이 차이는 실제이고, 피하는 데 드는 비용은 0입니다. 브라우저에는 암호용 난수원이 이미 들어 있습니다. 옆에는 함정이 둘 더 있습니다. 나머지 연산을 쓰면 앞쪽 이름이 더 자주 나오고, 비교 함수를 난수로 두고 정렬하면 순서가 치우칩니다. 여기서는 둘 다 쓰지 않습니다.

조는 돌아가며 나눕니다

일곱 명을 세 조로 나눌 때 목록을 3등분하면 3, 3, 1이 되어 마지막 조가 늘 손해입니다. 카드처럼 한 명씩 돌리면 3, 2, 2가 됩니다. 쓰기 편한 식과, 그 안에 들어가도 억울하지 않은 식의 차이가 여기 있습니다.

자주 묻는 질문

정말 무작위인가요?

브라우저의 암호용 난수원을 쓰고 나머지 연산의 치우침도 없앴습니다. 모든 이름의 확률이 같습니다. 섞기는 피셔–예이츠라 모든 순서가 같은 확률입니다.

목록이 어딘가로 전송되나요?

아닙니다. 모두 브라우저에서 처리되고, 목록은 이 기기에만 남아 다음에 다시 입력하지 않아도 됩니다.

같은 이름이 두 번 나올 수 있나요?

체크를 켰을 때만요. 기본값은 뽑힌 사람이 빠지는 것이고, 경품과 당번에는 그게 맞습니다.

목록보다 많이 뽑으려 하면요?

목록 전원과 함께 몇 명이었는지 알려 주는 줄이 나옵니다. 조용히 적게 주지 않습니다.

관련 도구