UTILS.
100% 브라우저 내 실행
🎅

시크릿 산타 생성기

모두가 한 번씩 주고받도록 시크릿 산타 선물 짝을 무작위로 배정하며, 선택적 제외 짝도 지원합니다. 브라우저에서 전적으로 오프라인 실행됩니다.

단일 기기 주최자 도구 — 전체 목록을 공개하므로 비공개로 실행하세요.
— 여기에 결과가 표시됩니다 —

이 도구에 대하여

시크릿 산타 생성기는 선물 교환을 위해 그룹을 무작위로 짝지어 모두가 정확히 한 개의 선물을 주고 한 개를 받게 하며 — 누구도 자기 이름을 뽑지 않게 합니다. 한 줄에 이름 하나씩 붙여넣고, 필요한 제외 짝(예: 커플이 서로 매칭되지 않도록)을 추가한 뒤 Assign을 클릭하세요.

내부적으로는 순환 배정을 사용해 유효한 완전순열을 만듭니다: 이름은 브라우저의 암호학적 난수 생성기(crypto.getRandomValues)로 구동되는 Fisher-Yates 셔플로 섞이고, 섞인 순서에서 각 사람이 순환의 다음 사람에게 선물하며, 마지막 사람은 첫 사람에게 줍니다. 단일 순환은 자기 매칭이 없고 모두가 한 번씩 주고받음을 보장합니다. 제외를 지키기 위해, 이 도구는 어떤 규칙도 어기지 않는 배열을 찾을 때까지 최대 수천 번 다시 섞습니다; 제약을 충족할 수 없으면 잘못된 목록을 반환하는 대신 그 사실을 알려 줍니다.

이것은 주최자를 위한 단일 기기 도구입니다 — 전체 주는 사람-받는 사람 목록을 화면에 보여 주므로, 비공개로 실행하세요. 모든 것은 브라우저에서 로컬로 이루어집니다: 업로드가 없고 오프라인에서 작동합니다. 제외는 한 줄에 두 이름을 쉼표, 콜론, 하이픈으로 구분해 입력하세요(예: "Alex, Jordan").

자주 묻는 질문

누군가 자기 자신에게 선물하도록 배정될 수 있나요?
결코 아닙니다. 배정은 단일 순환 완전순열이며, 이는 수학적으로 누구도 자기 자신에게 매칭되지 않고 모두가 한 번씩 주고받음을 보장합니다.
커플이 매칭되는 것을 어떻게 막나요?
두 이름을 쉼표, 콜론, 하이픈으로 구분한 제외 줄을 추가하세요(예: "Alex, Jordan"). 제외는 양방향이므로 어느 쪽도 상대를 뽑을 수 없습니다. 필요한 만큼 제외 줄을 추가하세요.
제외를 충족할 수 없으면 어떻게 되나요?
이 도구는 유효한 배열을 찾아 최대 수천 번 다시 섞습니다. 어떤 배정도 모든 제외를 존중할 수 없으면(예: 겹치는 규칙이 너무 많은 경우), 유효하지 않은 목록을 반환하는 대신 제약이 불가능하다고 보고합니다.
뽑기가 비공개이고, 오프라인에서 작동하나요?
이것은 전체 목록을 한 화면에 보여 주는 주최자 도구이므로, 플레이어가 볼 수 없는 곳에서 실행하세요. 로컬 crypto 난수 생성기로 전적으로 브라우저 안에서 실행됩니다 — 업로드가 없고 오프라인에서 작동합니다.

더 많은 도구