사용법
- 인원을 −/+ 로 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% |
손으로 그린 사다리는 얼마나 치우칠까 (6명 계산)
가로줄을 이웃한 두 세로줄 사이 아무 곳(6명이면 5칸)에 하나씩 무작위로 그어 내려간다고 보고, 맨 왼쪽 1번 자리에서 출발한 사람이 어디에 도착하는지 정확히 계산한 값이에요. 공정하다면 어느 칸이든 16.7%여야 해요.
| 가로줄 수 | 바로 아래(1번 칸) 도착 | 맨 오른쪽(6번 칸) 도착 |
|---|---|---|
| 5개 | 49.9% | 0% (불가능) |
| 10개 | 37.4% | 1.3% |
| 20개 | 27.3% | 6.6% |
| 30개 | 22.7% | 10.7% |
| 50개 | 18.6% | 14.7% |
| 100개 | 16.8% | 16.5% |
회식 자리에서 흔히 그리는 10개 안팎의 가로줄로는 1번 자리 사람이 바로 아래 칸에 갈 확률이 공정한 값의 2배가 넘어요. 6명이 거의 고르게 섞이려면 가로줄이 100개 가까이 필요해요. 10명이면 100개를 그어도 바로 아래 도착 확률이 16.8%로 공정한 값(10%)보다 한참 높아요.
이 페이지 사다리는 6명일 때 가로줄이 평균 약 25개, 12명일 때 약 101개라 그 자체로는 완전히 섞이지 않아요. 그래서 가운데에 균등한 순열을 그대로 만드는 가로줄 묶음을 넣는 거예요. 실제로 6명 사다리를 20만 번 만들어 1번 자리 도착 칸을 세어 보니 여섯 칸이 모두 16.5~16.8%로 고르게 나왔어요.
가로줄 하나 = 이웃끼리 자리 바꾸기
수학으로 보면 가로줄 하나는 이웃한 두 자리를 맞바꾸는 인접 전치이고, 사다리 전체는 그 자리 바꾸기를 위에서부터 차례로 합친 순열이에요. 4명(A·B·C·D) 사다리에 가로줄을 다섯 단으로 그었다고 해 볼게요.
| 단 | 가로줄 위치 | 지난 뒤 순서 |
|---|---|---|
| 시작 | - | A B C D |
| 1단 | 1–2, 3–4 | B A D C |
| 2단 | 2–3 | B D A C |
| 3단 | 1–2 | D B A C |
| 4단 | 3–4 | D B C A |
| 5단 | 2–3 | D C B A |
가로줄 6개로 순서가 완전히 뒤집혀 A는 4번, D는 1번 칸에 도착해요. 순서를 뒤집으려면 "순서가 뒤바뀐 쌍"(전도) 4 × 3 ÷ 2 = 6개를 하나씩 풀어야 해서 6개가 최소예요. 일반적으로 n명 사다리에서 어떤 결과든 만들려면 가로줄이 최대 n(n−1) ÷ 2개면 충분해요(6명 15개, 12명 66개).
흔한 실수
- 결과칸을 보고 출발 자리 고르기 — 가로줄이 적은 종이 사다리에선 실제로 유리해져요. 이 사다리는 어느 자리든 1/인원이라 의미가 없어요.
- 한 사람이 먼저 내려가 본 뒤 다시 섞기 — 결과를 본 뒤 섞으면 공정한 추첨이 아니에요. 섞기는 아무도 내려가기 전에만 하세요.
- 당첨칸을 2개 넣고 확률을 1/인원으로 생각 — 당첨칸이 k개면 각자 당첨 확률은 k ÷ 인원이에요. 6명 중 2칸이면 33.3%예요.
- 13명 이상을 한 판에 — 최대 12명이라, 더 많으면 제비뽑기·팀 나누기로 순서를 정하는 편이 빨라요.
사용 예시
5명이 커피 내기를 한다면 인원을 5로 맞추고 결과칸에 '커피 쏘기' 1칸, '얻어먹기' 4칸을 적어요. 가능한 결과는 5! = 120가지이고, 누가 어느 자리를 고르든 커피를 쏠 확률은 1 ÷ 5 = 20%입니다. 이름을 하나씩 눌러 길을 따라가거나 전체 결과 보기로 한 번에 확인한 뒤 copy로 단톡방에 올리면 끝이에요.
상황별 활용 팁
- 커피·점심 내기 — 결과에 '커피 쏘기' 1칸, 나머지는 '얻어먹기'. 2명이 쏘게 하려면 결과칸 두 개를 바꿔 적으면 돼요.
- 발표·청소 순서 — '순서 정하기' 버튼으로 1번~n번을 채우면 순서표가 됩니다. 명단이 길면 제비뽑기·팀 나누기의 순서 정하기가 더 빨라요.
- 역할 나누기 — 결과칸에 '설거지', '분리수거', '장보기'처럼 역할을 적으면 집안일 분담표가 됩니다.
- 회식·모임 자리 — 화면을 공유하거나 휴대폰을 돌려 가며 각자 자기 이름을 누르게 하면 더 재밌어요.
이름과 결과는 다음에 다시 쓰기 편하도록 이 브라우저(localStorage)에만 저장되고, 서버로 보내지 않습니다. 사다리 모양과 결과는 '다시 섞기'를 누를 때마다 새로 만들어져요.