사다리타기

캐릭터 16종 + 클릭·전체·역추적 공개 + 결과 텍스트 복사. 진짜 한 번에 끝나는 사다리.

2026년 9월 기준 점검도구 알고리즘(균등 순열 선추첨 + 홀짝 교환 정렬 배치) · 위치 편향·완전순열 표는 빌드 시 도구와 같은 규칙으로 계산출처 MDN — Math.random()(새 창) ·OEIS A000166 — 완전순열 수(새 창)작성 리만 (Youtil 운영자)

본 도구는 참고용입니다
  • 입력값·환경에 따라 결과가 달라질 수 있으며 정확성을 보장하지 않습니다.
  • 중요한 의사결정에는 전문가 조언을 받으세요.
  • 본 사다리타기는 Math.random() 기반 의사난수로 가로줄이 매번 새로 생성

관련 도구여행 예산로또 번호 생성기더치페이 계산기

참가자
🐶
🐱
🐰
🦊
결과
4명
애니메이션 속도
가로줄 난이도 (보이는 복잡도만 달라지고 확률은 같음)
자기 배정 피하기 (시크릿 산타)
🙈 가로선은 공개 전까지 숨겨져 있어요 (암산 스포일러 방지). 한 번에 공개하거나, 이름·결과를 클릭해 한 명씩 공개하세요.
가이드

알아두면 좋은 내용

리만 작성 · Youtil 운영자 소개
최종 업데이트 2026.09.26 · 읽는 시간 약 9분

사다리타기 원리 — 가로줄 하나는 ‘자리 바꾸기’

참가자 N명이 위에서 출발해 사다리를 따라 내려가며 가로줄을 만나면 옆으로 이동, 결국 N개 결과 중 하나에 도착하는 게임입니다. 가로줄 하나는 이웃한 두 세로줄에 있는 사람의 자리를 맞바꾸는 동작과 같습니다. 위에서부터 이런 맞바꿈을 차례로 적용하므로 사다리 전체는 출발 N칸을 도착 N칸에 하나씩 짝지어 주는 ‘순열’이 되고, 두 사람이 같은 결과에 도착하거나 아무도 오지 않는 결과가 생기는 일은 구조적으로 일어나지 않습니다. 같은 높이에 가로줄을 이어 붙이지 않는 규칙도 그래서 있습니다 — 한 세로줄에서 좌우 가로줄을 동시에 만나면 갈 곳이 정해지지 않으니까요.

거꾸로, 원하는 배정은 무엇이든 가로줄로 만들 수 있습니다. 이웃끼리 자리만 바꿔도 어떤 순서든 정렬할 수 있기 때문(버블 정렬과 같은 원리)이고, 필요한 가로줄의 최소 개수는 그 배정에서 순서가 뒤바뀐 쌍의 수와 같습니다. 예를 들어 4명이 완전히 거꾸로 도착하는 배정은 4×3÷2 = 6개가 최소입니다.

본 도구가 사다리를 만드는 순서:

  • 행 수는 참가자 × 3배(보통) 또는 × 5배(많이), 최소 8행 — 4명 보통 12행, 8명 보통 24행
  • ① 누가 어느 결과로 갈지(도착 순열)를 Fisher-Yates 셔플로 먼저 균등하게 뽑습니다
  • ② 위·아래 구간은 행마다 왼쪽부터 확률 50%(많이 60%)로 가로줄을 놓되 바로 옆 칸에는 놓지 않습니다
  • ③ 가운데 N행에는 홀짝 교환 정렬(odd-even transposition sort)로 가로줄을 놓아, 전체 도착이 ①의 순열과 정확히 같아지게 맞춥니다
  • 가로줄은 공개 전까지 숨겨 두어 눈으로 경로를 미리 따라가 볼 수 없습니다

일반 사다리의 위치 편향 — 순열을 먼저 뽑는 이유

가로줄을 무작위로만 뿌리면 한 사람이 지나는 가로줄 수가 한정돼 있어 출발한 자리 근처에서 멈출 가능성이 큽니다. 아래 표는 이 도구와 같은 가로줄 규칙(행마다 왼쪽부터 확률 50%, 인접 금지)을 순열 보정 없이 썼을 때, 맨 왼쪽(1번)에서 출발한 사람이 바로 아래 결과(1번)와 반대쪽 끝 결과(N번)에 도착할 확률입니다. 행마다의 이동 확률을 행 수만큼 곱해 정확히 계산한 값이며, 이 페이지를 만들 때 자동으로 다시 계산됩니다.

인원이 도구 (모든 칸)일반 사다리 · 보통
바로 아래 / 반대 끝
일반 사다리 · 많이
바로 아래 / 반대 끝
4명25.0%28.1% / 21.6% (12행)25.5% / 24.4% (20행)
6명16.7%22.5% / 10.8% (18행)18.3% / 15.1% (30행)
8명12.5%19.6% / 5.7% (24행)15.1% / 10.0% (40행)
12명8.3%16.1% / 1.7% (36행)12.1% / 4.8% (60행)
16명6.3%14.0% / 0.5% (48행)10.4% / 2.4% (80행)

8명·24행이면 바로 아래 결과가 19.6%로 균등(12.5%)의 1.6배이고, 반대쪽 끝은 5.7%에 그칩니다. 인원이 늘수록 격차가 벌어져 16명이면 반대쪽 끝에 닿을 확률이 0.5%까지 떨어집니다. 행을 늘리면(‘많이’) 편향이 줄지만 사라지지는 않습니다. 그래서 이름을 적는 순서가 결과를 좌우하게 되는데, 이 도구는 도착 순열을 먼저 뽑고 가로줄을 그에 맞추기 때문에 출발 위치·입력 순서·난이도와 관계없이 모든 칸이 정확히 1/N입니다.

입력 순서가 결과에 영향을 주나요?
이 도구에서는 주지 않습니다. [순서 섞기]는 참가자·결과 입력 순서를 무작위로 섞고 새 가로줄을 만드는 버튼으로, 확률을 바꾸지 않으니 명단 배치를 바꿔 보고 싶을 때나 분위기용으로 쓰세요. 종이에 사다리를 직접 그릴 때는 반대로 순서가 중요합니다 — 사다리를 다 그린 뒤에 이름을 무작위로 적어야 위 표의 편향을 피할 수 있습니다.

결과 공개 — 3가지 방법

🖱️ 클릭 개별 공개

이름을 클릭하면 그 사람의 경로만 그려지며 공개·숨김 (느림·빠름 그리기 속도 선택)

🔁 역추적 공개

결과를 클릭하면 그 결과로 도착한 사람을 거꾸로 찾아 경로를 표시

👥 한 번에 공개

[한 번에 공개] 버튼으로 모든 참가자 경로를 동시에 표시

참가자·결과를 입력하는 즉시 사다리에 반영되지만 가로줄은 공개 전까지 숨겨져 인원·세로줄 구조만 보입니다. 공개한 뒤 이름이나 결과 칸을 고치면 공개 상태가 닫혀, 추첨 후에 결과를 바꾼 것처럼 보이는 일을 막습니다. 당첨 하나를 두고 긴장감을 살리고 싶다면 꽝부터 한 명씩 클릭하거나, 당첨 칸을 눌러 역추적으로 마지막에 공개하는 방식이 잘 맞습니다.

시크릿 산타 — 자기 배정 피하기의 확률

[선물 교환 (시크릿 산타)] 템플릿을 고르거나 옵션에서 [자기 배정 피하기]를 켜면, 참가자 이름과 똑같은 결과 칸이 그 사람에게 가지 않도록 가로선을 만듭니다. 방식은 단순합니다 — 균등한 사다리를 만든 뒤 본인 배정이 하나라도 있으면 버리고 다시 뽑습니다(최대 200회). 조건에 맞지 않는 배정만 버리므로 남은 배정(수학 용어로 완전순열)끼리는 여전히 모두 같은 확률입니다. 4명이면 가능한 9가지 배정이 각각 1/9입니다.

인원가능한 배정 (N!)자기 배정 없는 배정비율평균 생성 횟수
2명2150.0%2.00회
3명6233.3%3.00회
4명24937.5%2.67회
5명1204436.7%2.73회
6명72026536.8%2.72회
8명40,32014,83336.8%2.72회
10명3,628,8001,334,96136.8%2.72회
16명20,922,789,888,0007,697,064,251,74536.8%2.72회

인원이 늘어도 자기 배정 없는 비율은 약 36.8%(1/e)로 수렴해, 평균 2~3번 생성(재생성 1~2번)이면 끝납니다. 200번 안에 끝나지 않을 확률은 가장 불리한 3명(33.3%)일 때도 (2/3)의 200제곱(약 6×10-36)으로, 사실상 0입니다. 실제로 쓸 때 헷갈리기 쉬운 점은 다음과 같습니다.

  • 이름은 글자 그대로 비교합니다 — ‘김민수’와 ‘김민수 ’(끝 공백)·‘민수’는 다른 이름으로 봐서 피해 주지 않습니다. 결과 칸을 참가자 칸과 똑같이 적으세요.
  • 동명이인은 구별할 수 없으니 ‘김민수A’처럼 표기를 나누세요.
  • 공개 전에 명단을 고치면 기존 가로선이 그대로라 본인 배정이 생길 수 있습니다. 이때는 경고와 함께 [가로선 새로 만들기] 버튼이 나타납니다.
  • 옵션을 끄면 순수 균등 추첨이라, 4명 기준 누군가 자기 이름을 뽑을 확률이 62.5%입니다.

6가지 빠른 시작 템플릿

🍱 점심 메뉴

못 정할 때 무작위 선택 — 김치찌개·비빔밥·돈가스·국밥

🧹 청소 당번

공정한 역할 분담 — 거실·주방·화장실·쓰레기

😅 벌칙 뽑기

게임·내기 벌칙 — 커피·꽝·재밌는 표정

🎁 선물 교환 (시크릿 산타)

자기 배정 방지 자동 — 본인 카드만 클릭해 확인

🎤 발표 순서

학교·회사 발표 순서 정하기

🍻 회식 분담

비용·역할 무작위 — 많이/보통/조금/꽝(공짜)

벌칙 뽑기처럼 같은 결과(꽝)가 여러 칸이면 당첨 확률은 ‘그 결과 칸 수 ÷ 인원’입니다. 6명 중 ‘커피 사기’ 1칸이면 1/6(약 16.7%)이고, 벌칙을 2칸으로 늘리면 1/3이 됩니다.

옵션 — 애니메이션 속도·가로줄 난이도

애니메이션 속도

  • · 느림 — 경로 그리기 2초 (긴장감 ↑)
  • · 빠름 — 0.7초 (빠른 확인)

가로줄 난이도

  • · 보통 — 참가자 × 3배 행 (최소 8행, 권장)
  • · 많이 — 참가자 × 5배 행, 가로줄 더 촘촘 (보기만 복잡해지고 확률은 같음)

참가자마다 16가지 동물 캐릭터(🐶 🐱 🐰 🦊 …)와 경로 색이 자동으로 붙습니다. 색은 색상환을 인원수로 똑같이 나눈 HSL 값이라 누가 어디로 갔는지 한눈에 구별되고, 최대 인원이 16명이라 캐릭터가 겹치지 않습니다. 인원이 많아 세로줄 간격이 좁아지면 휴대폰에서는 사다리를 옆으로 스크롤해 확인하세요.

사다리타기 vs 다른 추첨

사다리타기

  • · 참가자 ↔ 결과 매칭 (N:N)
  • · 시각적 재미 강함
  • · 모든 참가자에게 결과 분배
  • · 선물 교환·역할 분담 적합

랜덤 추첨기 (별도 도구)

  • · 1명 또는 N명 선택
  • · 가중치·룰렛 가능
  • · 팀 나누기 전용
  • · 한 항목 선택 적합

언제 사다리타기? — 모든 참가자에게 다른 결과를 배정해야 할 때, 시각적 재미가 우선일 때, 선물 교환·발표 순서. 언제 랜덤 추첨기? — 단순 1명 뽑기, 가중치, 팀 나누기.

경품·돈이 걸린 추첨이라면
이 도구의 난수는 브라우저의 Math.random()으로, 놀이·당번 정하기에는 충분하지만 암호학적으로 안전한 난수는 아니며 추첨 과정을 나중에 검증할 기록도 남지 않습니다. 상금·경품처럼 이해관계가 큰 추첨은 참가자 앞에서 공개로 진행하고 결과 화면을 캡처하거나 [결과 텍스트 복사]로 바로 공유해 두세요.

자주 묻는 질문

사다리타기는 정말 공정한가요?
네. 본 도구는 ① 누가 어느 결과로 갈지(순열)를 먼저 균등하게 무작위로 뽑고(Math.random() 기반 Fisher-Yates), ② 그 순열이 되도록 가로줄을 배치하며, 나머지 가로줄은 평소처럼 무작위로 채웁니다. ③ 인접 가로줄은 만들지 않고(사다리 규칙), ④ 모든 참가자가 서로 다른 결과에 1:1로 도착합니다. 그래서 시작 위치·입력 순서·난이도와 관계없이 각 참가자가 각 결과에 닿을 확률은 모두 1/N로 같습니다. 같은 명단으로 새 추첨을 하려면 [가로선 새로 만들기]를 누르세요.
사다리타기에서 유리한 시작 위치가 있나요?
이 도구에서는 없습니다. 가로줄을 순전히 무작위로만 그리는 일반 사다리는 시작 위치 바로 아래 결과로 내려갈 확률이 큽니다. 이 도구와 같은 가로줄 규칙으로 보정 없이 계산하면 8명·가로줄 24행에서 첫 번째 사람이 첫 번째 결과에 닿을 확률이 19.6%, 반대쪽 끝 결과는 5.7%입니다(균등이면 12.5%). 인원이 많을수록 차이가 커집니다. 본 도구는 도착 순열을 먼저 균등하게 뽑고 그에 맞춰 가로줄을 배치하므로, 어느 위치에서 출발해도 각 결과에 닿을 확률이 1/N입니다. [순서 섞기]는 공정성과 무관하게 분위기용으로 써도 됩니다.
시크릿 산타(선물 교환)는 어떻게 하나요?
[선물 교환 (시크릿 산타)] 템플릿을 누르면 참가자=결과로 채워지고 [자기 배정 피하기] 옵션이 켜져, 자기 자신에게 배정되지 않도록 가로줄을 만듭니다. 템플릿 없이 직접 입력할 때는 옵션에서 켜면 되고, 명단을 고친 뒤 본인 배정이 남으면 안내와 함께 [가로선 새로 만들기] 버튼이 표시됩니다. 진행은 각자 차례로 본인 이름 카드를 클릭해 누구에게 선물할지 확인하고 다른 사람은 잠시 화면을 보지 않으면 됩니다. ※ 화면을 가려 주는 별도의 "익명 모드"는 없으며, 클릭한 경로는 화면에 함께 표시됩니다.
참가자와 결과 개수가 다르면 어떻게 되나요?
본 도구는 참가자 수에 맞춰 결과 칸을 자동으로 맞춥니다 — 결과가 모자라면 빈 칸이 추가되고, 많으면 잘립니다. [+ 늘리기]로 참가자를 추가하면 결과 칸에 기본값 "꽝"이 채워지며, 각 결과 칸은 직접 수정할 수 있습니다. 사다리는 항상 참가자 N명 ↔ 결과 N칸이 1:1로 대응합니다. 당첨 1명·꽝 여러 명처럼 결과가 겹쳐도 되며, 이때 당첨 확률은 (같은 결과 칸 수 ÷ N)입니다.
결과를 미리 정해놓을 수 있나요?
아닙니다. 본 사다리타기는 가로줄 무작위 생성이 핵심이며 누가 어떤 결과를 받을지 미리 정할 수 없습니다. 만약 특정 사람에게 특정 결과를 주고 싶다면 사다리타기보다 직접 배정 또는 다른 방법을 권장합니다. 사다리타기의 본질은 "공정한 무작위 분배"입니다.
가로줄을 '많이'로 바꾸면 더 공정해지나요?
이 도구에서는 차이가 없습니다 — 보통·많이 모두 도착 확률이 정확히 1/N이고, 난이도는 보이는 복잡도만 바꿉니다. 다만 순열 보정 없이 가로줄만 뿌리는 일반 사다리라면 행이 많을수록 편향이 줄어듭니다. 8명 기준 첫 번째 사람이 바로 아래 결과에 닿을 확률은 24행에서 19.6%, 40행에서 15.1%로 내려가지만 여전히 균등(12.5%)보다 높습니다. 종이 사다리를 직접 그린다면 가로줄을 넉넉히 긋고, 이름은 사다리를 다 그린 뒤 무작위로 적는 편이 공정합니다.
자주 쓰는 명단을 저장해 두고 다시 쓸 수 있나요?
네. 도구 아래 저장 영역에서 게임 이름을 붙여 최대 30개까지 보관할 수 있고, 저장할 때의 가로선·난이도까지 함께 저장돼 불러오면 같은 사다리와 결과가 그대로 복원됩니다(불러온 뒤 인원을 바꾸면 새 가로선이 만들어집니다). 저장은 이 브라우저의 localStorage에만 되므로 다른 기기로 옮기거나 캐시 삭제에 대비하려면 [백업 다운로드]로 JSON 파일을 받아 두고 [가져오기]로 복원하세요.

참고 자료

  1. MDN — Math.random()(새 창)developer.mozilla.org
  2. OEIS A000166 — 완전순열 수(새 창)oeis.org
이 계산기를 만든 사람 · 리만Youtil 운영자 · 혼자 만들고 운영하는 1인 서비스입니다
운영자 소개
계산 기준
도구 알고리즘(균등 순열 선추첨 + 홀짝 교환 정렬 배치) · 위치 편향·완전순열 표는 빌드 시 도구와 같은 규칙으로 계산
오류 제보
결과가 다르면 contact@youtil.kr로 입력 조건을 알려 주세요. 평일 기준 1~3일 안에 답변합니다.

함께 쓰면 좋은 계산기