Mayalibrarywiki Tools

체육대회 · 워크숍 · 송년회 · 조별 과제

팀 나누기·조 편성

명단을 붙여 넣으면 팀과 조를 무작위로 나눠 드려요. 남는 인원, 성별·실력 균형, 같이·따로 조건까지 챙겨요.

  • 7명 3팀처럼 딱 안 나눠져도 골고루
  • 성별·부서·실력 균형, 같이·따로·조장 조건
  • 카톡용 복사·이미지 저장·결과 링크

명단 넣기

0명

한 줄에 한 명씩, 또는 쉼표로 나눠 넣어요. 카톡 명단이나 엑셀 열을 그대로 붙여 넣어도 돼요. 300명까지 나눌 수 있어요.

    나누는 방식

    개 팀으로 나누기

    팀 이름

      균형·조건

      선택

      필요한 것만 펼쳐서 켜요. 별점과 기준 값은 이 화면의 계산에만 쓰고 복사·이미지·링크에는 넣지 않아요.

      골고루 섞기 기준꺼짐
      기준
      칠할 값을 고르고 이름을 눌러요

        실력 균형 (별점 1~5)꺼짐
        별점을 고르고 이름을 눌러요 (다시 누르면 지워지고, 안 넣으면 별 3개)

          같이·따로 조건없음

          이름을 두 명 이상 골라 '같이 묶기'나 '서로 따로'를 눌러요. 같이 묶음은 20개, 따로 조건은 60쌍까지예요.

              조장 지정·팀 고정없음

              조장으로 정할 사람을 눌러요. 조장은 한 팀에 한 명씩 들어가요.

                특정 팀에 꼭 넣을 사람은 고정해요. 결과에서 조끼를 눌러 📌 고정해도 여기에 들어와요.

                  명단은 이 브라우저 안에서만 처리돼요. 링크를 만들면 이름이 링크 주소에 들어가니, 받은 사람은 모두 볼 수 있어요.

                  추첨 방식과 출처

                  최근 검토일: . 난수는 브라우저의 crypto.getRandomValues로 만들어요. 운영체제가 주는 암호학적 난수라 일반 난수 함수보다 예측하기 어려워요. 0부터 n−1 사이의 수를 고를 때는 나머지 연산에서 생기는 작은 치우침을 없애려고, 치우침이 생기는 구간의 값이 나오면 버리고 다시 뽑아요. 명단은 이 수로 피셔–예이츠(Fisher–Yates) 방식으로 섞어요. 모든 순서가 똑같은 확률로 나오는 표준 섞기 방법이에요.

                  섞은 사람을 무작위로 정한 팀 자리에 정원만큼 차례로 넣어요. 조건이나 균형을 켜면 이렇게 뽑은 편성이 같이·따로·조장·고정 조건과 균형 목표를 모두 지킬 때까지 다시 뽑아요(거절 표본추출). 그래서 조건을 지키는 편성 가운데 하나가 똑같은 확률로 나와요. 정해진 시간(약 0.06초) 안에 찾지 못하면 조건이 걸린 사람부터 들어갈 수 있는 자리를 차례로 따져 배치하고, 나머지는 실력이 높은 사람부터 번갈아 넣은 뒤 자리를 맞바꿔 균형을 다듬어요. 어떤 방식을 썼는지는 결과 아래에 적어 둬요.

                  조건을 지키는 편성이 없다는 것을 모든 경우를 따져 확인하면 이유를 알려 드려요. 탐색 한도 안에 확인하지 못하면 '없어요'라고 하지 않고 '찾지 못했어요'라고 알려 드려요. 결과 링크에는 제목·호칭·팀 이름·이름만 담아 링크의 # 뒤에 넣어요. 이 부분은 브라우저가 서버에 요청할 때 보내지 않아요.

                  한 사람만 뽑을 때는 룰렛 돌리기나 랜덤 숫자 뽑기, 순서나 벌칙을 정할 때는 사다리타기, 송년회 선물 짝을 정할 때는 마니또 뽑기가 더 잘 맞아요.

                  출처: MDN, Crypto.getRandomValues() · Fisher–Yates shuffle · Rejection sampling · MDN, URI fragment

                  자주 묻는 질문

                  브라우저의 암호학적 난수(crypto.getRandomValues)와 Fisher–Yates 섞기를 써요. 범위를 자를 때 생기는 치우침은 다시 뽑아서 없애요. 조건을 넣지 않으면 정해진 인원 구성(예: 3·2·2) 안에서 나올 수 있는 모든 편성이 똑같은 확률로 나와요. 누구든 특정 팀에 들어갈 확률도 같아요. 골고루 나누기에서는 어느 팀이 한 명 더 많아질지도 추첨으로 정해요.

                  네. '균형·조건'에서 골고루 섞기 기준(성별·부서·학년 등)이나 실력 별점(1~5)을 켜면 돼요. 먼저 균형 목표를 정해요. 예를 들면 팀끼리 남자 수·여자 수 차이가 각각 1명 이하, 2팀이면 실력 합계 차이 1점 이하예요. 사람과 팀이 적을 때(예: 10명 2팀, 24명 4팀)는 대개 그 목표를 만족하는 편성 전체에서 똑같은 확률로 뽑아요. 인원이 많거나 조건이 빡빡하면 실력이 높은 사람부터 번갈아 나눈 뒤(스네이크 방식) 자리를 바꿔 다듬어요. 이때는 모든 편성이 같은 확률이라고 할 수 없어요. 그래도 성별·별점·조건이 같은 두 사람은 어느 팀에 갈 확률이 같아요. 이번에 어떤 방식이 쓰였는지는 결과 아래에 적어 둬요.

                  팀 수로 나누면 인원 차이가 1명을 넘지 않게 나눠요. 7명을 3팀으로 나누면 3·2·2명이고, 3명이 되는 팀은 추첨으로 정해요. 팀당 인원으로 나누면 남는 사람을 어떻게 할지 고를 수 있어요. 30명을 4명씩 나누면 '골고루'는 4명 조 6개 + 3명 조 2개(모두 8조), '남는 사람을 다른 조에 나눠 넣기'는 5명 조 2개 + 4명 조 5개(모두 7조), '4명씩 채우고 남는 사람은 한 조로'는 4명 조 7개 + 2명 조 1개예요. 고르기 전에 미리보기 문장으로 인원 구성을 확인할 수 있어요.

                  조건을 바꿀 때마다 나눌 수 있는지 미리 확인해서 알려 드려요. 같이 묶은 사람이 한 팀 정원보다 많거나, 서로 따로여야 하는 사람이 팀 수보다 많거나, 같이 묶음이 한 팀을 꽉 채워 따로 조건을 지킬 자리가 없으면 그 이유를 이름과 함께 보여 줘요. 가능한 경우를 모두 확인해 지킬 방법이 없을 때만 '없어요'라고 해요. 조건이 많아 정해진 시간 안에 다 확인하지 못하면 '찾지 못했어요'라고 알려 드리니, 한 번 더 누르거나 조건을 줄여 주세요.

                  '다시 섞기'는 바로 전과 똑같은 편성만 빼고 다시 뽑아요. 사람이 적으면 비슷한 편성이 나올 수 있어요. 📌으로 고정한 사람은 그 팀에 남아요.

                  결과 아래 '카톡용 복사'를 누르면 팀 이름과 명단이 정리된 글이 복사돼요. 대화방에 붙여 넣으면 돼요. '이미지 저장'은 팀별 명단을 그림 한 장으로 저장하고, '결과 링크 만들기'는 같은 결과를 그대로 열어 볼 수 있는 링크를 만들어요. 카카오톡 안의 브라우저에서 이미지가 저장되지 않으면 '외부 브라우저로 열기'를 눌러 주세요. 별점과 기준 값은 어디에도 넣지 않아요.

                  아니요. 이름은 링크의 # 뒤에 담기고, 이 부분은 브라우저가 서버에 요청할 때 보내지 않아서 이 사이트 서버로 전달되거나 저장되지 않아요. 다만 링크를 받은 사람은 누구나 볼 수 있어요. 별점과 골고루 기준 값은 링크·복사·이미지에 넣지 않아요.

                  네. 엑셀이나 구글 시트에서 번호·이름·성별·실력 열을 함께 복사해 붙여 넣으면 열을 알아서 읽어요. 1, 2, 3처럼 이어지는 번호 열은 건너뛰고, 남/여 열은 성별 기준으로, 1~5 숫자 열은 실력 별점으로 쓸 수 있게 알려 드려요. 결과도 '엑셀용 복사'로 팀·이름·역할 표를 만들어 붙여 넣을 수 있어요.