리그전(라운드로빈) 대진표 생성기

참가자·팀 명단만 입력하면 모두가 서로 한 번씩 겨루는 리그전 대진표를 라운드별로 만들어드립니다.

리그전(라운드로빈)은 참가한 모든 팀이 다른 모든 팀과 정확히 한 번씩 겨루는 방식입니다. 한 번 져도 탈락하지 않으므로 팀마다 경기 수가 같고, 순위가 우연보다 실력에 가깝게 나옵니다. 대신 경기 수가 팀 수의 제곱에 가깝게 늘어나는 것이 약점입니다. 이 도구는 팀 목록을 받아 라운드별 대진, 휴식하는 팀, 총 경기 수를 한 번에 정리해 줍니다.

경기 수·라운드 수 공식

  • 총 경기 수 = n(n−1)/2. 팀 하나가 n−1팀과 겨루고, 한 경기를 두 팀이 공유하므로 2로 나눕니다.
  • 팀당 경기 수 = n−1 (한 번씩만 만나는 단일 리그 기준).
  • 라운드 수 = n이 짝수면 n−1, 홀수면 n. 홀수일 때는 라운드마다 한 팀이 쉬기 때문입니다.
  • 라운드당 경기 수 = floor(n/2). 모든 팀이 라운드에 한 번만 나오게 짜므로 팀 수의 절반이 한계입니다.
  • 홈 앤 어웨이(왕복) 리그라면 위 경기 수에 2를 곱합니다.

팀 수별 계산표

페이지가 만들어질 때 위 공식으로 계산한 값입니다.

팀 수총 경기 수라운드 수라운드당 경기팀당 경기휴식 라운드왕복 총 경기
33312팀마다 1번6
46323없음12
510524팀마다 1번20
615535없음30
721736팀마다 1번42
828747없음56
936948팀마다 1번72
1045959없음90
126611611없음132
1612015815없음240
20190191019없음380

서클법(circle method)은 어떻게 짜나요?

팀을 일렬 자리에 앉히고 첫째 자리 한 팀을 고정합니다. 각 라운드에서 i번째 자리와 마지막에서 i번째 자리를 짝지어 경기를 만든 뒤, 고정된 팀을 뺀 나머지를 한 칸씩 회전(마지막 팀이 두 번째 자리로 이동)합니다. n−1번 회전하면 모든 쌍이 정확히 한 번씩 등장합니다.

팀 수가 홀수일 때는 이름 없는 "빈 팀"을 하나 더해 짝수로 만든 뒤 같은 절차를 씁니다. 빈 팀과 짝이 된 팀이 그 라운드에 쉽니다. 빈 팀도 다른 자리와 똑같이 회전하므로 n라운드 동안 모든 팀이 정확히 한 번씩 쉬게 됩니다. 아래는 두 구성을 이 도구와 같은 방식으로 계산해 얻은 일정입니다(A~F 6팀, A~E 5팀).

6팀(A~F) 서클법 일정
라운드경기휴식
1A-F, B-E, C-D-
2A-E, F-D, B-C-
3A-D, E-C, F-B-
4A-C, D-B, E-F-
5A-B, C-F, D-E-
5팀(A~E) 서클법 일정
라운드경기휴식
1B-E, C-DA
2A-E, B-CD
3A-D, E-CB
4A-C, D-BE
5A-B, D-EC

검산한 예시

예시 1. 직장인 배드민턴 클럽 10팀

총 10×9/2 = 45경기, 라운드 9개, 라운드당 5경기입니다. 코트가 5면이면 한 라운드를 한 번에 소화해 9회전으로 끝나지만, 코트가 2면뿐이면 라운드당 ceil(5/2) = 3회전이 필요해 9×3 = 27회전이 됩니다. 경기당 20분이라면 최소 약 9시간입니다.

예시 2. 사내 보드게임 리그 7팀

홀수라 빈 팀을 더해 8자리로 짜므로 라운드는 7개, 라운드당 경기는 3개, 팀당 6경기에 휴식 1번입니다. 총 경기는 3×7 = 21이며 7×6/2 = 21과 같습니다. 7개 라운드를 일주일에 한 번씩 돌리면 7주 시즌입니다.

예시 3. 왕복 리그 6팀

단일 리그는 15경기, 왕복이면 30경기이고 라운드는 10개입니다. 전반기와 후반기에 같은 대진을 반복하되 홈과 원정 자리를 바꿔 한 시즌을 만드는 것이 흔한 방식입니다. 이 도구는 홈·원정을 구분해 균형을 맞춰 주지는 않습니다. 각 경기의 왼쪽·오른쪽 표기는 자리 순서일 뿐이며 첫째 자리에 고정된 팀은 항상 왼쪽에 적힙니다.

순위 결정과 동률 처리

리그전의 핵심은 순위 규칙을 대회 전에 정해 두는 것입니다. 승점제(예: 승 3점, 무승부 1점, 패 0점은 축구에서 흔한 방식)와 승률제는 종목마다 다르고, 동률 처리 순서(득실차, 다득점, 상호 전적 등)도 대회 규정에 따라 갈립니다. 이 도구는 대진만 만들어 주고 승점이나 순위는 계산하지 않습니다. 동률 가능성이 큰 소규모 리그라면 동률 시 상호 전적 우선 같은 한 줄 규칙을 미리 공지해 두세요.

코트(경기장) 수에 따른 회전 수

대진표의 라운드는 "팀이 겹치지 않는 경기 묶음"일 뿐 실제 시간표가 아닙니다. 경기장이 라운드당 경기 수보다 적으면 한 라운드를 여러 회전으로 쪼개야 합니다. 필요한 회전 수는 라운드 수 × ceil(라운드당 경기 수 ÷ 코트 수)입니다. 아래는 빌드 시 이 식으로 계산한 값이며, 회전 수에 경기 시간(휴식 포함)을 곱하면 대회 최소 소요 시간이 됩니다.

팀 수코트 1면코트 2면코트 3면코트 4면
6팀15회전10회전5회전5회전
8팀28회전14회전14회전7회전
10팀45회전27회전18회전18회전
12팀66회전33회전22회전22회전

표에서 눈여겨볼 점은 코트를 늘려도 효과가 계단식이라는 것입니다. 10팀은 라운드당 5경기라서 코트 3면과 4면의 회전 수가 18회전으로 같습니다(5경기를 3면이면 2회전, 4면이어도 2회전). 코트를 하나 더 빌리기 전에 라운드당 경기 수를 코트 수로 나눠 올림했을 때 값이 실제로 줄어드는지 먼저 확인하세요.

휴식 라운드는 누구에게 언제 오나

홀수 팀 리그에서 휴식이 몰리면 경기 감각이나 일정 조율에 불만이 생깁니다. 서클법에서는 빈 자리도 다른 팀과 똑같이 회전하므로 휴식이 한 라운드에 한 팀씩 고르게 돌아갑니다. 5팀(A~E) 일정에서 계산한 휴식 팀은 다음과 같습니다.

라운드12345
휴식 팀ADBEC

한 팀이 휴식하는 라운드는 시즌 내내 딱 한 번이라 연속으로 쉬는 팀은 없습니다. 특정 팀이 마지막 라운드에 쉬는 것을 피하고 싶다면 명단 순서를 바꿔 다시 만들어 보세요. 명단 순서가 곧 자리 순서이므로 입력 순서에 따라 누가 언제 쉬는지가 달라집니다.

시나리오로 보는 선택

시나리오 1. 12팀 사내 풋살 대회: 단일 리그 대신 조 편성

12팀 단일 리그는 66경기, 라운드 11개입니다. 6팀씩 두 조로 나누면 조당 15경기, 두 조를 합쳐 30경기이고, 여기에 각 조 상위 2팀이 교차로 맞붙는 준결승 2경기, 결승 1경기, 3·4위전 1경기를 더해도 총 34경기입니다. 경기 수가 절반 가까이 줄지만 대신 다른 조 팀과는 만나지 못하므로 조 편성이 공정해야 합니다. 팀 실력 차가 크다면 랜덤 팀 나누기보다 실력 균형을 고려해 직접 나누는 편이 낫습니다.

시나리오 2. 탁구대 1대뿐인 8인 동호회

8명이면 28경기, 탁구대가 한 대라면 28회전입니다(위 표). 경기당 15분이라면 최소 7시간이므로 하루에 몰아서 하기보다 매주 한 라운드(4경기, 한 시간 남짓)씩 7주로 나누는 편이 현실적입니다. 이 경우 라운드 번호가 곧 주차가 되어 일정 공지가 쉬워집니다.

시나리오 3. 중도 기권이 생겼을 때

리그가 진행되는 중에 한 팀이 빠지면 이미 치른 경기를 무효로 할지, 남은 경기를 몰수패로 처리할지 대회 전에 정해 두지 않으면 분쟁이 됩니다. 흔한 방식은 일정 비율 이상을 치르기 전에 기권하면 기록을 모두 무효로 하고, 그 이후에는 남은 경기를 몰수패로 처리하는 것입니다. 이 비율은 정해진 표준이 아니므로 공지 문구에 구체적으로 적으세요.

대진표를 받은 뒤 점검하는 방법

  • 모든 팀의 경기 횟수를 세어 n−1(홀수 팀이면 휴식을 제외한 n−1)과 같은지 확인합니다.
  • 화면 상단 통계의 총 경기 수와 라운드별 경기 수의 합이 일치하는지 봅니다.
  • 같은 라운드 안에 한 팀이 두 번 나오지 않는지 확인합니다. 서클법에서는 생기지 않지만 직접 수정했다면 점검이 필요합니다.
  • 복사한 텍스트를 메신저에 붙여 넣을 때 팀 이름이 길면 줄바꿈이 틀어질 수 있으니 이름은 짧게 쓰는 편이 좋습니다.

흔한 실수와 한계

  • 홀수 팀에서 "휴식 팀"을 경기 없는 불이익으로 오해하기 쉽습니다. 모든 팀이 정확히 한 번씩 쉬므로 팀당 경기 수는 모두 같습니다.
  • 팀이 많으면 총 경기 수가 급증합니다. 12팀은 66경기, 20팀은 190경기이므로 조별 리그로 나누는 편이 현실적입니다.
  • 같은 이름을 두 번 입력하면 서로 다른 팀으로 구분할 수 없어 도구가 오류 안내를 보여 줍니다.
  • 이 서클법은 요일·장소·시간 배정을 하지 않고, 동일 팀이 연속으로 쉬는 것 같은 특수 제약도 고려하지 않습니다.
  • 입력한 목록은 서버로 보내지 않으며 페이지를 닫으면 사라집니다. 필요하면 "텍스트로 복사"나 인쇄로 보관하세요.

결과 활용법

라운드를 주 단위 일정에 그대로 대응시키면 시즌 길이가 곧 라운드 수입니다. 날짜가 겹치는 팀이 있으면 같은 라운드 안의 경기 순서는 바꿔도 되고, 라운드 간 순서를 바꾸는 것도 규칙상 문제가 없습니다. 모든 쌍이 한 번씩만 만나는 구조는 라운드 순서와 무관하기 때문입니다.

자주 묻는 질문

참가 팀이 홀수면 어떻게 되나요?

이름 없는 빈 팀을 하나 더해 짝수로 맞춘 뒤 대진을 짭니다. 빈 팀과 짝이 된 팀은 그 라운드에 휴식으로 표시되고, 라운드 수는 팀 수와 같아집니다. 모든 팀이 정확히 한 번 쉽니다.

한 라운드의 경기를 동시에 진행해야 하나요?

아니요. 같은 라운드 경기는 서로 겹치는 팀이 없어서 동시에 해도, 순서대로 해도 됩니다. 다만 다음 라운드 전에 마칠 필요는 없고 모든 경기가 언젠가 열리기만 하면 됩니다.

8팀이면 총 몇 경기인가요?

8×7/2 = 28경기이고 라운드는 7개, 라운드당 4경기입니다. 왕복이면 56경기입니다.

토너먼트와 리그전 중 어느 쪽이 나은가요?

시간이 짧고 우승자만 가리면 되면 토너먼트(n−1경기), 팀 모두에게 같은 경기 수를 주고 순위를 매겨야 하면 리그전입니다. 중간 형태로 조별 리그 후 상위팀 토너먼트도 많이 씁니다.

홈과 원정을 균형 있게 배정해 주나요?

아니요. 왼쪽·오른쪽 표기는 자리 순서일 뿐이어서 공식 리그의 홈·원정 배정과는 다릅니다. 장소가 중요한 대회라면 직접 조정해야 합니다.

명단 순서를 바꾸면 대진표가 달라지나요?

네. 서클법은 입력한 순서대로 자리를 배정하므로 순서가 바뀌면 라운드별 대진과 휴식 팀이 달라집니다. 모든 팀이 서로 한 번씩 만나는 구조 자체는 순서와 무관하게 유지됩니다.

팀 수에 제한이 있나요?

화면이 지나치게 길어지는 것을 막기 위해 64팀까지 입력할 수 있습니다. 64팀은 2,016경기이므로 그 전에 조별 리그로 나누는 편이 현실적입니다.

왕복 리그 후반기 대진은 어떻게 만드나요?

같은 대진표를 한 번 더 쓰되 경기의 왼쪽·오른쪽(홈·원정) 자리를 바꾸면 됩니다. 라운드 수는 단일 리그의 두 배가 되고, 전반기와 후반기에 같은 상대를 만나는 순서도 같게 유지됩니다.

관련 도구