사다리타기

참가자와 결과를 입력하고 사다리를 만든 뒤, 이름을 클릭하면 결과까지 이어지는 경로가 표시됩니다. 결과 칸은 숨겨 두었다가 하나씩 열 수 있습니다.

사다리타기는 이럴 때 씁니다

참가자 수만큼의 결과 칸(당첨, 꽝, 벌칙, 순번 등)을 참가자에게 하나씩 겹치지 않게 나눠 줄 때 쓰는 방식입니다. 커피 내기처럼 한 명만 걸리는 경우, 발표 순서처럼 1번부터 N번까지 모두 다른 값을 줘야 하는 경우 모두 같은 구조로 처리됩니다. 이 도구는 입력한 이름과 결과로 사다리를 그리고, 이름을 누르면 위에서 아래로 내려가는 경로를 보여 줍니다. 입력값과 결과는 서버로 보내거나 브라우저에 저장하지 않아서 새로고침하면 모두 사라집니다.

사다리가 항상 일대일로 맞는 이유

사다리의 가로선 하나는 이웃한 두 세로줄의 위치를 서로 바꾸는 동작입니다. 위에서 아래로 가로선을 지날 때마다 그 줄에 서 있는 두 사람이 자리를 맞바꾼다고 생각하면 됩니다. 교환은 되돌릴 수 있는 동작이므로, 여러 번 교환한 결과도 되돌릴 수 있고, 따라서 서로 다른 두 사람이 같은 칸에 도착하거나 어느 칸이 비는 일이 생기지 않습니다. 수학 용어로는 가로선들의 합성이 순열(전단사 함수)이 된다고 말합니다. 같은 높이에서 가로선이 서로 이웃한 세로줄을 공유하지 않도록 놓는 것이 이 성질을 지키는 조건입니다.

한 가지 더 알려진 성질이 있습니다. 가로선 하나는 교환 한 번이므로, 가로선 전체 개수가 짝수이면 최종 배치는 짝수 순열, 홀수이면 홀수 순열입니다. 그래서 가로선이 하나도 없거나 짝수 개로 원래 순서가 그대로 돌아오는 경우는 있어도, 가로선이 홀수 개이면서 모든 사람이 자기 세로줄 바로 아래에 도착하는 일은 불가능합니다.

인원별 가능한 배정의 수

참가자 수한 줄에서 가로선을 놓을 수 있는 자리가능한 배정 수 (n!)
2명1곳2가지
3명2곳6가지
4명3곳24가지
5명4곳120가지
6명5곳720가지
7명6곳5,040가지
8명7곳40,320가지

8명이면 모든 사람이 서로 다른 결과를 받는 방법이 40,320가지입니다. 사다리는 이 중 하나를 시각적으로 뽑아 주는 장치입니다.

예시 1: 4명, 가로선 8개를 직접 따라가기

세로줄 0~3번(왼쪽부터)에 소라, 현우, 다은, 준기 순으로 서 있고, 결과 칸은 왼쪽부터 설거지, 통과, 통과, 커피입니다. 가로선이 8개인 사다리를 node로 추적해 계산한 경로입니다. 표의 숫자는 한 줄을 내려갈 때마다 서 있는 세로줄 번호입니다.

이름줄마다 위치(위 → 아래)도착 칸결과
소라0 → 1 → 2 → 2 → 3 → 3 → 3 → 2 → 11번통과
현우1 → 0 → 0 → 0 → 1 → 2 → 2 → 3 → 33번커피
다은2 → 2 → 1 → 1 → 0 → 0 → 1 → 1 → 22번통과
준기3 → 3 → 3 → 3 → 2 → 1 → 0 → 0 → 00번설거지

도착 칸이 1, 3, 2, 0번으로 겹치지 않으므로 일대일 대응이 확인됩니다. 가로선 8개는 짝수이고, 이 배치(0→1, 1→3, 3→0, 2는 제자리)는 세 사람이 돌려 앉은 짝수 순열이라 앞의 성질과도 맞습니다. 같은 방식으로 임의의 사다리 14만 개(참가자 2~8명 각 2만 개, 줄 수 20, 가로선 확률 35%)를 무작위로 만들어 모두 일대일로 도착하는지 확인했을 때 어긋난 경우는 없었습니다.

예시 2: 3명, 가로선 3개로 순서가 통째로 뒤집히는 경우

세 줄 사이에 왼쪽-오른쪽-왼쪽 순으로 가로선 3개만 있어도 0번은 2번, 1번은 1번, 2번은 0번으로 도착해 순서가 완전히 뒤집힙니다. 가로선이 적다고 결과가 덜 섞이는 것은 아니며, 가로선의 위치가 어떻게 겹치는지가 결과를 정합니다.

가로선만 무작위로 놓으면 칸별 확률이 같지 않다

"일대일"과 "확률이 같다"는 다른 이야기입니다. 가로선을 일정 확률로 무작위 배치한 사다리는 출발 줄 근처에 도착할 확률이 약간 더 높은 경향이 있습니다. 가로선 확률 35%, 20줄, 왼쪽부터 순서대로 놓는 방식에서 4명일 때의 도착 칸 분포를 정확히 계산한 값은 아래와 같습니다(단위 %, 빌드 시 계산).

출발 \ 도착0번1번2번3번
0번26.4%25.8%24.3%23.5%
1번25.8%25.4%24.6%24.2%
2번24.3%24.6%25.3%25.7%
3번23.5%24.2%25.7%26.6%

0번 출발이 0번 칸에 도착할 확률이 26.4%, 3번 칸에는 23.5%로 완전한 25%와 차이가 납니다. 이 도구는 이 편차를 없애기 위해 결과 문구를 맨 아래 칸에 배정할 때 무작위로 섞는 방식을 쓰므로, 누가 어떤 결과를 받을 확률은 모두 같습니다. 사다리 모양은 경로를 눈으로 따라가는 연출이고, 도착 칸은 항상 일대일입니다.

인원별 가로선이 놓일 확률

이 도구는 각 줄에서 가장 왼쪽 자리부터 오른쪽으로 훑으며 35% 확률로 가로선을 놓고, 놓았다면 바로 옆 자리를 건너뛰어 같은 높이에서 이웃한 가로선이 겹치지 않게 합니다. 그래서 자리마다 확률이 완전히 같지는 않습니다. 첫 자리는 정확히 35%이고 둘째 자리는 앞 자리에 가로선이 없을 때만 놓을 수 있어 22.75%(0.65 × 0.35)입니다. 아래는 이 규칙을 전부 나열해 계산한 값이며, 한 줄에 놓이는 가로선의 기대 개수와 20줄 전체의 기대 개수도 함께 적었습니다.

참가자 수왼쪽부터 자리별 가로선 확률(%)한 줄 기대 개수20줄 전체 기대 개수
2명35.000.35개7.0개
3명35.00 / 22.750.58개11.5개
4명35.00 / 22.75 / 27.040.85개17.0개
5명35.00 / 22.75 / 27.04 / 25.541.10개22.1개
6명35.00 / 22.75 / 27.04 / 25.54 / 26.061.36개27.3개
7명35.00 / 22.75 / 27.04 / 25.54 / 26.06 / 25.881.62개32.5개
8명35.00 / 22.75 / 27.04 / 25.54 / 26.06 / 25.88 / 25.941.88개37.6개

기대 개수는 평균일 뿐 실제 사다리는 매번 달라집니다. 이 숫자는 사다리가 얼마나 촘촘한지 가늠하는 용도이고, 누가 어떤 결과를 받는지의 확률과는 별개입니다.

예시 3: 5명이 발표 순서를 정하는 경우

가람, 나래, 다온, 라온, 마루 다섯 명이 결과 칸 1번~5번 순서표를 나눠 갖는 상황입니다. 아래는 가로선 10개짜리 사다리를 빌드 시 추적한 표이며, 숫자는 줄을 내려갈 때마다 서 있는 세로줄 번호(0~4)입니다. 맨 아래 칸에 순번이 이미 섞여 배정되어 있다고 보면, 도착 칸에 적힌 순번이 그 사람의 발표 순서가 됩니다.

이름줄마다 위치(위 → 아래)도착 칸
가람0 → 1 → 2 → 2 → 3 → 3 → 4 → 44번
나래1 → 0 → 0 → 1 → 1 → 2 → 2 → 11번
다온2 → 3 → 4 → 4 → 4 → 4 → 3 → 33번
라온3 → 2 → 1 → 0 → 0 → 0 → 1 → 22번
마루4 → 4 → 3 → 3 → 2 → 1 → 0 → 00번

도착 칸이 4, 1, 3, 2, 0번으로 모두 다르므로 발표 순서가 겹치지 않습니다. 순번 같은 값은 사람마다 한 개씩만 필요하기 때문에 이런 일대일 구조가 잘 맞습니다.

"걸리는 칸"이 한 개일 때 내 확률은

결과 문구 중 "커피 사기"가 한 개뿐이면, 결과를 맨 아래 칸에 균등하게 섞기 때문에 참가자 한 사람이 그 결과를 받을 확률은 1/n입니다. 여러 판을 하면 누적 확률이 올라가는데, 이는 단순히 매 판 걸리지 않을 확률 (1 − 1/n)을 판 수만큼 곱해 1에서 뺀 값입니다. 판마다 사다리와 결과 배정을 새로 만드므로 이전 판이 다음 판에 영향을 주지 않습니다.

참가자 수한 판에서 걸릴 확률3판 중 한 번 이상5판 중 한 번 이상
3명33.3%70.4%86.8%
4명25.0%57.8%76.3%
5명20.0%48.8%67.2%
6명16.7%42.1%59.8%
8명12.5%33.0%48.7%

예를 들어 4명이 3판을 하면 특정 한 사람이 최소 한 번 걸릴 확률은 약 57.8%이고, 같은 사람이 3판 연속으로 걸릴 확률은 (1/4)³ ≈ 1.6%입니다. 한 번 걸린 사람이 다음 판에는 덜 걸린다는 보정은 없습니다. 연속으로 걸려도 조작이 아니라 우연의 범위일 수 있습니다.

화면 구성과 조작에서 알아둘 점

사용 방법

  1. 참가자와 결과를 한 줄에 하나씩 입력합니다. 두 목록의 줄 수가 같아야 하고 2~8명까지 지원합니다.
  2. 결과를 미리 보여 줄지 정한 뒤 "사다리 만들기"를 누릅니다. 결과를 숨기면 도착한 칸만 열립니다.
  3. 이름을 눌러 경로를 따라가면 그 사람의 결과가 공개됩니다. 모두 확인하려면 "전체 결과 보기"를 누릅니다.
  4. 다시 하려면 "사다리 다시 그리기"를 누릅니다. 가로선과 결과 배정이 새로 만들어집니다.

흔한 실수와 한계

결과를 활용하는 방법

한 사람만 걸리는 내기라면 결과 칸에 "커피"와 "통과"를 섞어 입력하면 됩니다. 발표 순서를 정할 때는 결과에 1번, 2번, 3번처럼 순번을 적으세요. 역할 분담에는 결과에 맡을 일을 적고, 사람 수와 일의 수가 다르면 "휴식" 같은 칸으로 채웁니다. 여러 번 반복할 때는 같은 사다리를 재사용하지 말고 매번 다시 그리는 것이 좋습니다.

자주 묻는 질문

결과가 조작될 수 있나요?

사다리와 결과 배정은 "사다리 만들기"를 누르는 순간 브라우저 안에서 무작위로 정해지고, 서버로 전송되지 않습니다. 다만 화면을 보는 사람이 개발자 도구로 값을 볼 수 있다는 점은 일반 웹페이지와 같으므로 신뢰가 필요한 자리에서는 모두가 한 화면을 함께 보세요.

참가자는 최대 몇 명까지 가능한가요?

화면 가독성을 위해 2명에서 8명까지 지원합니다. 더 많은 인원은 팀 나누기나 랜덤 추첨기를 쓰는 편이 낫습니다.

사다리 가로선이 많을수록 더 공정한가요?

이 도구에서는 결과 배정 자체를 섞기 때문에 가로선 개수와 상관없이 칸별 확률이 같습니다. 가로선은 경로를 시각적으로 보여 주는 용도이고, 줄을 내려가는 사람이 도착 칸을 미리 알기 어렵게 만드는 역할을 합니다.

두 사람이 같은 결과에 도착할 수 있나요?

없습니다. 가로선이 이웃한 두 줄을 맞바꾸는 동작이라 모든 참가자의 도착 칸은 서로 다릅니다. 같은 문구의 결과를 여러 칸에 넣었다면 문구만 같을 뿐 서로 다른 칸입니다.

입력한 이름과 결과는 저장되나요?

저장하지 않습니다. 쿠키나 로컬 저장소를 쓰지 않고, 새로고침하거나 창을 닫으면 입력값과 사다리가 모두 사라집니다. 다른 기기와의 동기화도 없습니다.

함께 쓰기 좋은 도구

사다리를 눈으로 따라가서 원하는 칸으로 가는 줄을 고르면 반칙인가요?

결과를 공개한 상태라면 가능하고, 결과를 숨긴 상태라면 어느 칸에 무엇이 있는지 모르기 때문에 소용이 없습니다. 결과 칸이 "?"로 가려진 채 시작하는 기본 설정을 유지하고, 모두가 이름을 누르기 전에 규칙을 정해 두세요.

줄을 더 길게 하거나 가로선을 더 많이 놓을 수 있나요?

이 도구는 20줄, 가로선 확률 35%로 고정되어 있고 바꾸는 입력은 없습니다. 결과 배정이 균등하게 섞이므로 가로선을 더 놓아도 누가 어떤 결과를 받을 확률은 달라지지 않습니다.

사람 수보다 결과 문구가 적을 때는 어떻게 하나요?

수가 같아야 만들어집니다. 모자라는 만큼 "통과", "휴식", "-" 같은 빈 의미의 결과를 채워 넣으세요. 같은 문구를 여러 칸에 넣어도 칸은 서로 다르게 취급됩니다.

이 사다리를 경품 추첨이나 공식적인 선발에 써도 되나요?

권하지 않습니다. 난수가 Math.random이라 보안용이 아니고, 추첨 과정을 제3자가 사후에 검증할 기록도 남지 않습니다. 친구·동료 사이의 가벼운 내기와 역할 분담에 알맞은 도구입니다.