생활·재미
🎲 랜덤 추첨기
룰렛 회전으로 점심·벌칙부터 팀 나누기·자리 배치까지. 모바일에서도 빠른 칩 입력.
본 도구는 참고용입니다
- 입력값·환경에 따라 결과가 달라질 수 있으며 정확성을 보장하지 않습니다.
- 중요한 의사결정에는 전문가 조언을 받으세요.
- 본 도구는 Math.random() 기반 의사난수 알고리즘을 사용합니다.
5가지 추첨 모드
🎰 룰렛 (메인)
4초 회전 → 결과 발표. 항목별 가중치 토글로 단순/불균등 둘 다
⚖️ 가중치 추첨
1~20 가중치 + 확률 미리보기 + 여러 개 뽑기
👥 팀 나누기
명단 → 좌우 2분할 결과. 리더·묶기·떨어뜨리기 옵션
📋 순서·자리
발표 순서 / 행×열 자리. 고정·인접 회피
📊 공정성 검증
100~100,000회 시뮬레이션으로 분포 직접 확인
모바일에서도 빠른 칩 입력
텍스트박스에 줄바꿈으로 명단을 채우던 방식 대신, 이름 한 개씩 Enter로 칩이 추가되는 방식을 채택했습니다. 모바일 키보드에서도 자연스럽게 입력·삭제할 수 있습니다.
- Enter / 쉼표 — 칩 추가
- 붙여넣기 — "김민수, 이지은, 박서준" 또는 여러 줄 한 번에 → 자동 분리
- Backspace — 입력 칸이 빈 상태에서 누르면 마지막 칩 삭제
- × 버튼 — 개별 칩 제거
- 템플릿 카드 — 음식·이름·번호·옵션을 클릭 한 번에 채움
- 중복 표시·제거 — 같은 이름 있으면 경고 + 한 번 클릭으로 정리
룰렛 — 가장 자주 쓰는 모드
본 도구의 룰렛은 단순 추첨과 가중치 추첨을 모두 포함합니다. 평소엔 모든 칸 같은 크기로 균등 추첨, 가중치 토글을 켜면 항목별 ×1~×10 비중을 슬라이더로 조정해 칸 크기가 달라집니다.
🎰 점심 메뉴
못 정할 때 가장 빠른 결정
🎰 벌칙 게임
술자리·MT·동아리 모임
🎰 이벤트 추첨
경품·당첨자 시각화
🎰 발언 순서
회의·스터디 발언자 룰렛
가중치 추첨 — 확률 차등
같은 항목을 여러 번 입력하는 대신 가중치로 확률을 조절합니다. 확률 = 항목 가중치 / 전체 가중치 합.
예: A=3, B=1, C=2 → 총합 6
→ A: 3/6 = 50%, B: 1/6 ≈ 17%, C: 2/6 ≈ 33%
활용 예: 이벤트 응모권 횟수 = 가중치 / 선호 메뉴 비중 / 게임 아이템 등급별 차등 / 벌칙 분산(많이 받은 사람 가중치 ↓).
팀 나누기 알고리즘
결과는 좌우 2열 카드로 표시 — 한 화면에 A팀·B팀이 동시에 보입니다. 모바일에서도 가로 분할 유지.
- 리더 우선 배치 — 각 팀에 1명씩 (지정 시)
- 함께 묶을 그룹 — 가장 작은 팀에 통째로 배치
- 나머지 셔플 분배 — Fisher-Yates 무작위 셔플 후 가장 작은 팀에 순환 배치
- 떨어뜨릴 그룹 회피 — 같은 그룹 멤버가 있는 팀 자동 회피
활용: 학교 조별 활동·회사 회식 자리·운동 경기 팀·동아리 모임·게임 멀티플레이.
발표 순서·자리 배치
자리 배치 결과는 행·열 수에 따라 폰트 크기가 자동 조정되어 4×6 이상에서도 이름이 잘립니다 X. 발표 순서는 1번·마지막 고정과 제외자 옵션 지원.
학기 초 자리
학생 명단 → 행×열 자리 자동
발표회 순서
1번·마지막 고정 + 제외자
회의 좌석
같은 부서 떨어뜨리기
시험 좌석
커닝 방지 인접 회피
결혼식 자리
하객 무작위 + 그룹 묶기
면접 좌석
지원자 행렬 배치
공정성 검증 — 큰 수의 법칙
본 도구가 정말 공정한지 의심된다면 [공정성] 탭에서 직접 시뮬레이션할 수 있습니다.
| 시뮬 횟수 | 편차 (4개 균등 항목 기준) | 해석 |
|---|---|---|
| 100회 | ±10% | 작은 표본 — 변동 큼 |
| 1,000회 | ±2~3% | 상당히 균등 |
| 10,000회 | ±1% 미만 | 거의 완벽 |
| 100,000회 | ±0.5% 미만 | 이론값에 매우 근접 |
큰 수의 법칙(Law of Large Numbers): 시행 횟수가 많을수록 실제 비율이 기대 확률에 수렴. 본 도구의 Math.random() 의사난수는 1,000회 이상에서 매우 균등한 분포를 보입니다.
자주 묻는 질문 (FAQ)
Q1. 본 추첨기는 정말 공정한가요?
본 도구는 JavaScript의 Math.random()을 사용합니다. 이는 의사난수(pseudo-random)로 완벽한 무작위는 아니지만 실용적인 추첨에는 충분히 공정합니다. [공정성] 탭에서 1,000~100,000회 시뮬레이션으로 직접 확인 가능. 법적·계약적 효력이 있는 추첨에는 공증 절차를 권장합니다.
Q2. 룰렛에서 가중치는 어떻게 작동하나요?
룰렛 탭의 「⚖️ 가중치 조정」 토글을 켜면 각 항목 옆에 1~10 슬라이더가 나타납니다. 가중치가 큰 항목은 부채꼴 크기가 커지고, 회전 시 멈출 확률도 비례해 높아집니다. 토글을 끄면 모두 동일 확률(균등).
Q3. 명단 입력은 어떻게 하면 가장 빠른가요?
이름 한 개씩 Enter로 칩이 추가됩니다. 여러 이름을 한 번에 넣고 싶다면 "김민수, 이지은, 박서준"처럼 쉼표나 줄바꿈으로 구분해서 붙여넣으면 자동 분리됩니다. 템플릿 카드를 클릭하면 음식·이름·번호·옵션이 한 번에 채워집니다.
Q4. 팀 나누기는 어떻게 균형을 맞추나요?
① 명단 셔플 (Fisher-Yates 무작위), ② 리더 우선 배치 (지정 시), ③ 함께 묶을 그룹 처리 (가장 작은 팀에 통째로), ④ 나머지를 가장 작은 팀에 순환 배치, ⑤ 떨어뜨릴 그룹은 같은 그룹 멤버가 있는 팀 자동 회피. 결과는 좌우 2열로 한눈에 비교할 수 있게 표시.
Q5. 자리 배치 4×6에서 이름이 잘려요
본 도구는 열 수에 따라 폰트가 자동 조정됩니다 (열 2개 → 16px / 열 4개 → 14px / 열 6개 → 12px / 열 8개 이상 → 8~10px). 그래도 긴 이름은 일부 잘릴 수 있으니 셀에 마우스 올리면 툴팁으로 전체 이름을 확인할 수 있습니다.
Q6. 룰렛 결과를 미리 조작할 수 있나요?
아닙니다. ① 가중치에 따라 결과 추첨 (Math.random), ② 결과 항목이 12시 방향에 멈추도록 회전 각도 계산, ③ 4초 회전 애니메이션. 회전은 결정된 결과를 시각화한 것이며, 사용자가 결과를 조작할 수 없습니다. 룰렛 돌리기 버튼을 다시 누르면 새 결과.
함께 쓰면 좋은 도구
참고 자료
- Fisher-Yates 셔플 알고리즘 — Knuth, 1969 (Art of Computer Programming Vol.2)
- Math.random() 의사난수 — MDN Web Docs (xorshift128+ 기반)
- 큰 수의 법칙 (Law of Large Numbers) — 베르누이 정리