🧰도구상자

🪜 사다리타기

참가자와 결과를 입력하면 무작위로 짝지어 줍니다. 내기·역할 정하기에.

사다리타기는 여러 명의 참가자를 여러 개의 결과에 무작위로, 그러나 겹치지 않게 짝지어 주는 추첨 놀이입니다. 이 도구는 종이에 사다리를 그리는 대신 참가자 이름과 결과(당첨·꽝, 청소 구역, 순번 등)를 한 줄에 하나씩 입력하면 즉시 무작위 짝을 만들어 줍니다. 커피 내기, 발표 순서, 역할 분담처럼 '누가 무엇을 맡을지'를 공정하게 정해야 할 때 쓰기 좋습니다.

핵심은 '한 명당 하나, 하나의 결과는 한 명에게'라는 일대일 대응입니다. 손으로 그리는 전통 사다리타기가 아무리 줄이 복잡하게 얽혀도 절대 두 사람이 같은 칸에 도착하지 않는 것과 똑같은 원리로, 이 도구도 결과를 무작위로 섞어 참가자마다 서로 다른 결과를 배정합니다. 그래서 '당첨'이 하나면 정확히 한 사람만 당첨되고, 나머지는 모두 다른 결과를 받습니다.

아래에서는 사다리타기가 왜 항상 공정한 일대일 대응이 되는지 그 수학적 원리, 손으로 그리는 사다리와의 관계, 그리고 내기·순서·역할 정하기 같은 실제 활용법과 자주 묻는 질문을 정리했습니다.

사용 방법

  1. 왼쪽 칸에 참가자 이름을 한 줄에 한 명씩 입력합니다. 예를 들어 '철수', '영희', '민수'를 각 줄에 적습니다.
  2. 오른쪽 칸에 결과를 한 줄에 하나씩 입력합니다. '당첨/꽝'처럼 승패를 정하거나 '설거지', '2번' 같은 역할·순번을 적어도 됩니다.
  3. '사다리 타기' 버튼을 누르면 결과가 무작위로 섞여 참가자마다 하나씩 배정됩니다. 결과 수가 참가자 수보다 적으면 부족한 만큼 자동으로 '꽝'이 채워집니다.
  4. 표시된 '참가자 → 결과' 짝을 확인합니다. 다시 누르면 새로 섞여 매번 다른 결과가 나옵니다.

사다리타기는 왜 항상 공정할까 — 일대일 대응의 원리

사다리타기의 공정함은 '전단사(일대일 대응, bijection)'라는 수학 개념으로 설명됩니다. 전단사란 두 집합의 원소를 하나도 빠짐없이, 그리고 겹치지 않게 짝짓는 대응을 말합니다. 참가자 집합과 결과 집합이 이렇게 대응되면 '모든 참가자가 결과를 하나씩 받는다(빠짐없음)'와 '한 결과가 두 사람에게 가지 않는다(겹치지 않음)'가 동시에 보장됩니다.

손으로 그리는 사다리타기에서 이 성질이 성립하는 이유는, 사다리의 가로줄(가로 다리) 하나하나가 인접한 두 세로줄을 맞바꾸는 '자리 교환'이기 때문입니다. 자리 교환을 아무리 여러 번 이어 붙여도 결국은 출발 칸들을 도착 칸들로 재배열하는 '순열'이 됩니다. 순열은 언제나 서로 다른 출발점을 서로 다른 도착점으로 보내므로, 두 사람이 같은 칸에 도착하는 일은 원천적으로 불가능합니다.

이 도구가 사다리를 그리는 방식

이 도구는 화면에 사다리 줄을 그리는 대신, 결과 목록을 무작위로 섞어(셔플) 참가자 순서대로 하나씩 나눠 줍니다. 무작위 셔플의 결과물이 곧 하나의 순열이므로, 복잡한 가로줄을 그린 사다리와 수학적으로 완전히 같은 '무작위 일대일 대응'이 만들어집니다.

무작위 순열과 공정성

사다리타기가 '공정하다'고 말할 때는 두 가지 의미가 있습니다. 첫째는 앞서 설명한 일대일 대응(아무도 결과를 두 번 받지 않음)이고, 둘째는 각 참가자가 각 결과를 받을 확률이 똑같다는 '균등성'입니다. 이 도구는 결과를 섞을 때 피셔–예이츠 셔플이라는 방법과 암호학적 난수를 사용해, 가능한 모든 배정이 같은 확률로 나오도록 합니다.

참가자·결과 수에 따른 배정 경우의 수 (n명 = n! 가지)
참가자 수가능한 배정의 수특정 한 명이 '당첨'일 확률
2명2가지1/2 (50%)
3명6가지1/3 (약 33%)
4명24가지1/4 (25%)
5명120가지1/5 (20%)
6명720가지1/6 (약 17%)

'당첨' 하나일 때 확률은 인원수 분의 1

결과에 '당첨' 하나와 나머지 '꽝'을 넣으면, 참가자가 n명일 때 각자가 당첨될 확률은 정확히 1/n로 모두 같습니다. 먼저 입력했다고 유리하거나 마지막 줄이라 불리한 일은 없습니다.

결과 수가 참가자 수와 다를 때

일대일 대응이 성립하려면 참가자 수와 결과 수가 같아야 합니다. 이 도구는 둘의 수가 어긋나도 자연스럽게 처리합니다.

  • 결과가 참가자보다 적을 때: 모자란 칸을 자동으로 '꽝'으로 채운 뒤 섞습니다. 예를 들어 4명에 '당첨' 하나만 넣으면 나머지 3칸이 '꽝'이 됩니다.
  • 결과가 참가자보다 많을 때: 섞은 뒤 참가자 수만큼만 앞에서 잘라 사용합니다. 배정되지 않고 남는 결과가 생길 수 있습니다.
  • 결과가 정확히 참가자 수와 같을 때: 입력한 모든 결과가 하나씩 빠짐없이 배정됩니다. '설거지·정리·심부름'처럼 역할을 나눌 때 이 방식이 가장 깔끔합니다.

이럴 때 쓰세요 — 활용 예시

무언가를 무작위로, 그러나 겹치지 않게 정해야 하는 거의 모든 상황에 쓸 수 있습니다.

  • 내기·벌칙 정하기: 결과에 '당첨/꽝' 또는 '커피 쏘기' 같은 벌칙을 넣어 오늘의 당첨자를 뽑습니다.
  • 순서 정하기: 결과에 '1번·2번·3번…'을 넣으면 발표 순서, 게임 순번, 노래방 순서를 공정하게 배분합니다.
  • 역할·구역 분담: '설거지·청소·장보기'처럼 할 일을 넣어 팀원에게 하나씩 나눠 줍니다.
  • 자리·조 배정: 좌석 번호나 조 이름을 결과로 넣어 무작위로 배치합니다.
  • 선물 교환(마니또): 참가자와 참가자를 짝지어 누가 누구에게 선물할지 정할 때도 응용할 수 있습니다.

자주 묻는 질문

두 사람이 같은 결과를 받을 수도 있나요?
아니요. 사다리타기는 결과 목록을 섞어 참가자마다 서로 다른 칸을 배정하는 일대일 대응이라, 같은 '당첨'이나 같은 '1번'이 두 사람에게 가는 일은 없습니다. 단, 결과 칸에 똑같은 글자('꽝'과 '꽝')를 여러 개 넣었다면 값이 같아 보일 뿐, 서로 다른 칸이 배정된 것입니다.
먼저 입력하거나 위에 적힌 사람이 더 유리한가요?
그렇지 않습니다. 결과는 무작위로 완전히 섞인 뒤 순서대로 나눠지므로, 입력 순서나 줄 위치는 확률에 전혀 영향을 주지 않습니다. 참가자가 n명이고 '당첨'이 하나면 누구든 당첨 확률은 똑같이 1/n입니다.
결과를 참가자보다 적게 넣으면 어떻게 되나요?
모자란 만큼 자동으로 '꽝'이 채워진 뒤 섞입니다. 예를 들어 5명에게 '당첨' 하나만 넣으면 나머지 4칸이 '꽝'으로 채워져, 한 명만 당첨되고 네 명은 꽝이 됩니다.
같은 참가자·결과로 다시 돌리면 결과가 바뀌나요?
네. 버튼을 누를 때마다 새로 무작위로 섞이므로 매번 다른 배정이 나올 수 있습니다. 한 번 정한 결과를 그대로 쓰려면 화면에 나온 짝을 따로 기록해 두세요.
정말 무작위인가요, 아니면 규칙이 있나요?
브라우저의 암호학적 난수 생성기(crypto)와 피셔–예이츠 셔플을 사용해, 가능한 모든 배정이 동일한 확률로 나오도록 만듭니다. 특정 결과가 더 자주 나오도록 하는 편향은 없습니다.
손으로 그리는 사다리타기와 결과가 다르지 않나요?
수학적으로 같습니다. 손으로 그린 사다리의 가로줄들은 자리 교환을 반복하는 것이고, 그 최종 결과는 하나의 순열입니다. 이 도구가 만드는 무작위 셔플도 똑같은 순열이므로, 사다리를 그려 타고 내려온 것과 동일한 무작위 일대일 대응이 나옵니다.

관련 도구