사용법
- 인원을 −/+ 로 2~12명 중에서 정하고, 참가자 이름을 적어요. 비워 두면 '참가자1'처럼 표시됩니다.
- 결과칸에 꽝·당첨·벌칙 등을 적거나, 위의 버튼(당첨 1명 / 벌칙 1명 / 커피 쏘기 / 순서 정하기)으로 한 번에 채우세요.
- 사다리판 위쪽의 이름을 누르면 그 사람이 내려가는 길이 색깔 선으로 그려지고, 도착한 칸의 결과가 열립니다.
- 전체 결과 보기를 누르면 남은 사람이 한꺼번에 내려가고 결과 목록이 나와요. copy로 "이름 → 결과" 목록을 복사해 단톡방에 올리면 끝.
- 결과가 마음에 안 드는 사람이 있어도… 공정하게 하려면 시작 전에만 다시 섞기를 누르세요. 다시 섞으면 가로줄이 완전히 새로 그려집니다.
결과 가리기를 켜 두면(기본) 아래 결과칸이 '?'로 가려져 있다가 도착한 칸만 열려서, 실제 종이 사다리처럼 긴장감 있게 할 수 있어요. 끄면 결과를 다 보여 준 상태에서 시작합니다.
사다리타기 규칙
세로줄 맨 위에서 출발해 아래로 내려가다가 가로줄을 만나면 반드시 옆 세로줄로 건너가고, 다시 아래로 내려가는 걸 반복해 맨 아래 칸에 도착합니다. 한 가로줄 높이에서 양쪽으로 동시에 이어지는 가로줄은 만들지 않기 때문에 갈림길이 없고, 두 사람이 같은 칸에 도착하는 일도 절대 없어요. 그래서 사다리는 결과칸을 사람마다 하나씩 겹치지 않게 나눠 주는 '순열'과 같습니다.
사다리는 공정할까? 가로줄 수의 비밀
종이에 대충 그린 사다리는 생각보다 공정하지 않아요. 가로줄 하나는 이웃한 두 사람의 자리만 바꾸기 때문에, 가로줄이 적으면 대부분의 사람이 출발한 자리 바로 아래나 그 근처에 도착합니다. 예를 들어 6명 사다리에 가로줄이 5~6개뿐이면 맨 왼쪽 사람이 맨 오른쪽 결과까지 가려면 가로줄 5개를 연속으로 타야 해서 그럴 확률이 아주 낮아요. 그래서 "당첨" 위치를 보고 그 위쪽 자리를 고르면 실제로 유리해지는 경우가 생깁니다.
무작위 가로줄만으로 결과를 고르게 섞으려면 대략 인원² 수준의 가로줄이 필요하다고 알려져 있어요(인접한 자리 바꾸기로 카드를 섞는 문제와 같습니다). 10명이면 가로줄이 수십~백 개는 있어야 해서 손으로 그리기엔 너무 많죠.
이 사다리가 공정한 이유
- 먼저
crypto.getRandomValues로 n명 순서를 Fisher-Yates 방식으로 섞어 n! 가지 결과 중 하나를 정확히 같은 확률로 고릅니다. - 그 결과를 그대로 만들어 내는 가로줄 묶음(홀짝 전치 정렬을 거꾸로 쓴 것, 최대 n줄)을 사다리 가운데에 놓고, 위·아래에 무작위 가로줄을 더 얹어 자연스러운 모양을 만들어요.
- 가운데 묶음이 완전히 균등하고 위·아래 가로줄과 독립이므로, 위·아래를 어떻게 그려도 최종 결과는 여전히 모든 경우가 같은 확률입니다. 즉 어느 자리를 고르든 당첨 확률은 정확히 1/인원이에요.
| 인원 | 가능한 결과 수 (n!) | 특정 1명이 '당첨'일 확률 |
|---|---|---|
| 2명 | 2 | 50% |
| 3명 | 6 | 33.3% |
| 4명 | 24 | 25% |
| 5명 | 120 | 20% |
| 6명 | 720 | 16.7% |
| 8명 | 40,320 | 12.5% |
| 10명 | 3,628,800 | 10% |
| 12명 | 479,001,600 | 8.3% |
상황별 활용 팁
- 커피·점심 내기 — 결과에 '커피 쏘기' 1칸, 나머지는 '얻어먹기'. 2명이 쏘게 하려면 결과칸 두 개를 바꿔 적으면 돼요.
- 발표·청소 순서 — '순서 정하기' 버튼으로 1번~n번을 채우면 순서표가 됩니다. 명단이 길면 제비뽑기·팀 나누기의 순서 정하기가 더 빨라요.
- 역할 나누기 — 결과칸에 '설거지', '분리수거', '장보기'처럼 역할을 적으면 집안일 분담표가 됩니다.
- 회식·모임 자리 — 화면을 공유하거나 휴대폰을 돌려 가며 각자 자기 이름을 누르게 하면 더 재밌어요.
이름과 결과는 다음에 다시 쓰기 편하도록 이 브라우저(localStorage)에만 저장되고, 서버로 보내지 않습니다. 사다리 모양과 결과는 '다시 섞기'를 누를 때마다 새로 만들어져요.