라운드 로빈 페어 스케줄러 (토너먼트 · 1대1 로테이션)
랜덤
여러 라운드에 걸쳐 N 명이 짝을 지어야 하는 상황 — 코드 리뷰 짝꿍, 토론 토너먼트 매치, 스파링 파트너, 1대1 멘토링 로테이션, 해커톤 아이스브레이커, 보드게임 래더 — 질문은 동일합니다: '모두가 모두를 정확히 한 번씩 만나도록, 최소 라운드로 어떻게 보장하나?' 답이 라운드 로빈 스케줄, 표준 구성법이 circle method 입니다. 한 명을 고정하고 나머지를 그 주위로 회전시키면서 지름 양 끝의 쌍을 읽어내는 방식. 짝수 N 명이면 N-1 라운드 × N/2 동시 매치 → 총 N(N-1)/2 개의 고유 페어를 정확히 한 번씩 커버. 홀수 N 이면 phantom Bye 슬롯을 추가해 매 라운드 한 명이 쉽니다. 이 도구는 그 구성법을 그대로 돌립니다 — 이름 붙여넣으면 라운드별 표 + 참가자별 뷰가 나옵니다. 초기 순서는 알파벳순(재현 가능) 또는 시드 기반 랜덤(재추첨으로 다른 레이아웃) 중 선택. 모든 계산은 브라우저 내.
- 매치 1Eve↔Dave
- 매치 2Bob↔Alice
- 매치 3Frank↔Carol
- 매치 1Eve↔Alice
- 매치 2Dave↔Carol
- 매치 3Bob↔Frank
- 매치 1Eve↔Carol
- 매치 2Alice↔Frank
- 매치 3Dave↔Bob
- 매치 1Eve↔Frank
- 매치 2Carol↔Bob
- 매치 3Alice↔Dave
- 매치 1Eve↔Bob
- 매치 2Frank↔Dave
- 매치 3Carol↔Alice
고전 circle method: 한 명을 고정하고 나머지를 시계방향으로 회전시키며 지름을 가로질러 페어 생성. 짝수 N 명 → N-1 라운드 × N/2 매치, 모든 C(N,2) 페어 정확히 한 번씩. 계산은 모두 로컬 — 참가자 이름이 브라우저를 떠나지 않습니다.
사용법
- 참가자 이름을 붙여넣습니다 — 한 줄에 하나 또는 쉼표 구분.
- 알파벳순 (재현 가능) 또는 랜덤 (시드 — 재추첨으로 새 레이아웃) 선택.
- '라운드별' / '참가자별' 뷰 전환.
- 홀수 명이면 (Bye) 슬롯이 추가되어 그 사람은 한 라운드 쉽니다.
- '마크다운 복사' 로 전체 스케줄을 문서나 PR 설명에 그대로 붙여넣으세요.
자주 묻는 질문
- circle method 가 뭡니까?
- N 명을 원형으로 배치 → 참가자 1 을 고정 → 매 라운드마다 지름을 가로지르는 현(chord) 으로 페어 읽기: (1,N), (2,N-1), (3,N-2)…. 그 다음 1 을 제외한 모두를 시계방향으로 한 칸 회전 → 반복. N-1 라운드 후 모든 페어가 정확히 한 번씩 만났습니다. 토너먼트 스케줄링과 그래프 이론에서 가르치는 표준 구성법 (완전 그래프 Kn 의 perfect matching 분해).
- 홀수 인원은 어떻게 처리?
- N 이 홀수면 perfect matching 이 불가능 — 매 라운드 누군가는 쉬어야 합니다. 도구는 phantom '(Bye)' 슬롯을 추가해 인원을 짝수로 만든 뒤 표준 circle method 를 돌립니다. N 라운드 동안 각 실제 참가자는 정확히 한 번 bye 를 받습니다. Bye 는 공평하게 순환 — 두 번 쉬는 사람과 한 번도 안 쉬는 사람이 생기지 않습니다.
- Group Maker / Secret Santa 와 어떻게 다른가요?
- Group Maker 는 N 명을 K 개의 disjoint 그룹으로 한 번에 분할 — breakout 세션이나 팀 추첨용. Secret Santa 는 단일 cyclic 선물 교환 (A→B→C→A) 을 만듭니다. Round-Robin Scheduler 는 시간축 전체의 매치업 그래프를 만듭니다 — N-1 라운드, 각 라운드는 perfect matching, 모든 C(N,2) 쌍을 정확히 한 번. 일회성 배정이 아니라 '로테이션' 이 필요할 때 적합한 도구.
- 특정 스케줄을 나중에 재현 가능?
- 네. 랜덤 순서는 시드 기반 — 시드가 URL 공유 가능한 상태로 저장되고 도구를 다시 열면 같은 레이아웃이 재현됩니다. 완전 결정적 출력을 원하면 알파벳순으로 전환 — 같은 입력 → 항상 같은 스케줄.
관련 도구
랜덤 숫자 생성기
암호학적 난수로 원하는 범위의 숫자를 뽑아 줍니다 — 중복 허용/금지, 정렬 옵션 포함.
그룹 / 팀 나누기
이름 목록을 균등한 랜덤 그룹으로 나눕니다 — 그룹 수 또는 그룹당 인원 선택.
추첨기
이름 목록에서 N명을 뽑으세요 — 암호학적 난수로 공정하게, 중복 허용 선택 가능.
주사위 & 동전 굴리기
암호학적 난수로 d4~d100 주사위를 굴리거나 동전을 던지세요.
랜덤 뽑기 — 룰렛 & 사다리
돌림판이나 사다리타기로 공정하게 뽑으세요.
비밀번호 생성
브라우저를 벗어나지 않는 강력한 무작위 비밀번호를 생성하세요.