순서 & 목록 셔플러
Fisher-Yates 알고리즘을 사용하여 목록, 순서 또는 데이터를 랜덤 순서로 섞으세요.
목록 & 시퀀스 셔플러: 텍스트 줄, 숫자 & CSV 항목 랜덤화
교실 발표의 공정한 발표 순서를 정하거나, 커닝을 막기 위해 객관식 퀴즈 문항을 무작위화하거나, 음악 재생 목록을 섞거나, 랜덤 학습 플래시카드 훈련을 만들거나, 테스트 데이터셋 순열을 생성할 때 우리의 랜덤 시퀀스 & 목록 셔플러는 수학적으로 편향 없는 결과를 보장합니다.
점근적으로 최적인 Fisher-Yates(Knuth) 셔플 알고리즘으로 구동되며, 줄바꿈, 쉼표 구분 값(CSV), 공백 구분 단어, 숫자 시퀀스(1부터 N까지)로 분할을 지원합니다. 커스텀 순위 번호 접두사(1., 2., 3.)를 추가하고 Spacebar로 즉시 다시 섞어 보세요.
Fisher-Yates 알고리즘
정렬 편향을 없앱니다. 가능한 모든 순열이 정확히 1/n!의 동일한 확률을 가집니다.
다양한 구분자 모드
텍스트 줄 전체, 개별 단어, 쉼표 구분 목록, 커스텀 시퀀스 간격 등을 섞을 수 있습니다.
접두사 번호 매기기 (1..N)
회의 안건과 발표 일정을 위해 항목 앞에 서수 번호(1., 2., 3.)를 자동으로 붙입니다.
100% 클라이언트 측 프라이버시
기밀 회사 안건, 학생 명단, 개인 메모가 로컬 웹 브라우저를 벗어나지 않습니다.
📊셔플 알고리즘 & 순열 공정성 비교
| 셔플 방식 | 시간 복잡도 | 통계적 편향 | 순열 공정성 |
|---|---|---|---|
| Fisher-Yates / Knuth (여기서 사용) | O(n) 선형 | 편향 없음 (균등 1/n!) | 완벽한 수학적 분포 |
| Array.sort(Math.random - 0.5) | O(n log n) | 심한 비균등 편향 | 결함 있음 (특정 순서가 3배 더 자주 나옴) |
| 랜덤 키 삽입 | O(n log n) | 낮음~중간 | 허용 가능하지만 계산이 느림 |
❓자주 묻는 질문
Fisher-Yates 셔플 알고리즘이 일반적인 랜덤 정렬보다 나은 이유는 무엇인가요?▾
많은 사이트가 arr.sort(() => Math.random() - 0.5) 같은 단순한 편법을 사용하지만, 이는 정렬 알고리즘의 추이성을 위반해 심각한 위치 편향을 만듭니다. Fisher-Yates(Knuth) 알고리즘은 O(n) 시간에 리스트를 한 번 순회하면서 각 요소를 무작위로 선택한 앞선 요소와 맞바꿔, 가능한 n!개의 모든 순열이 정확히 동일한 확률을 갖도록 보장합니다.
쉼표 구분 값(CSV)이나 개별 단어도 섞을 수 있나요?▾
네! 설정에서 원하는 구분자를 선택하세요: 줄바꿈(텍스트 줄), 쉼표(CSV 항목), 공백(문장 속 개별 단어), 세미콜론. 도구가 선택한 형식을 유지한 채 출력을 다시 합칩니다.
교사들은 교실 발표와 시험에 어떻게 활용하나요?▾
교사들은 학생 명단을 붙여넣고 "번호 매기기 출력(1., 2., 3.)"을 켜서 구두 발표 순서를 무작위로 배정합니다. 객관식 보기나 시험 문제 은행을 붙여넣어 랜덤화된 시험 버전을 만들기도 합니다.
숫자의 랜덤 시퀀스(예: 1부터 50)를 만들 수 있나요?▾
네! "숫자 범위(1부터 N)" 프리셋을 클릭하고 상한값(예: 1부터 100)을 입력하세요. 도구가 해당 범위의 모든 정수를 중복 없이 생성하고 섞어 줍니다.
대용량 파일의 줄 수 제한이 있나요?▾
O(n) 알고리즘이 JavaScript 메모리에서 네이티브로 실행되기 때문에 50,000줄이 넘는 목록도 50밀리초 안에 여유 있게 처리합니다.
스페이스바 키로 다시 섞을 수 있나요?▾
네! 입력 텍스트 상자에 포커스가 없을 때 스페이스바를 누르면 목록이 즉시 다시 섞여 새로운 랜덤 순서가 표시됩니다.