자리 배치 프로그램 · 랜덤 자리 뽑기 · 짝 금지

교실 자리 바꾸기, 시험 좌석, 모임 테이블 배치에 씁니다. "앞자리 고정"이 필요한 사람은 이름=행,열로 적고, 떠들어서 떼어 놓아야 하는 둘은 짝 금지에 적으면 상하좌우로 붙지 않게 배정합니다. 배정은 브라우저 안에서만 이루어집니다.

1행이 교탁 쪽 맨 앞줄
비워 두면 전원 무작위
상하좌우로 붙어 앉지 않게 합니다
자리 배치 프로그램 · 랜덤 자리 뽑기 · 짝 금지모두의계산기

배정 방식

고정 좌석을 먼저 앉힌 뒤, 나머지 사람과 나머지 좌석을 각각 무작위로 섞어 짝지웁니다. 그 결과가 짝 금지 조건(두 사람이 상하좌우로 인접)을 어기면 버리고 처음부터 다시 뽑기를 최대 200회 반복합니다. 이 방식은 단순하지만 조건이 극단적으로 빡빡하지 않은 한 몇 번 안에 답을 찾으며, 찾은 배치는 조건을 만족하는 배치들 사이에서 치우침 없이 뽑힌 것이라 공정합니다. 빈자리도 무작위 위치에 흩어지므로, 빈자리를 뒤쪽에 몰고 싶다면 행 수를 줄여 좌석 수를 인원에 맞추는 것이 간단합니다.

고정과 짝 금지를 쓰는 요령

시력이 나쁜 학생의 앞줄 고정은 "이름=1,3"처럼 행,열로 적습니다. 1행이 교탁 쪽 맨 앞줄, 열은 교탁에서 봤을 때 왼쪽부터 셉니다. 짝 금지는 상하좌우 인접만 막고 대각선은 허용합니다. 대각선까지 막으면 조건이 급격히 어려워져 배치가 안 나오는 경우가 많기 때문입니다. 정말 멀리 떼어 놓아야 한다면 두 사람을 각각 반대쪽 구석에 고정하는 편이 확실합니다.

200회로 안 나오면

조건 충돌이 원인인 경우가 대부분입니다. 예컨대 고정된 두 사람이 이미 붙어 있는데 그 둘이 짝 금지에 있으면 영원히 불가능합니다. 또 좌석 수와 인원이 같아 빈자리가 없고 금지 짝이 많으면(전체 인원의 20%를 넘는 수준) 가능한 배치 자체가 드물어집니다. 이때는 금지 짝을 줄이거나, 열을 하나 늘려 여유 좌석을 만들면 대부분 해결됩니다.

자주 묻는 질문

분단(짝꿍 두 명씩) 배치도 되나요?

이 도구는 격자 배치만 지원합니다. 2열로 만들면 짝꿍 구조와 비슷해집니다. 예를 들어 6행 2열을 세 번 돌려 세 분단을 각각 만드는 방법이 있습니다.

같은 결과를 나중에 재현할 수 있나요?

아니요. 매번 새로운 난수로 뽑으므로 재현되지 않습니다. 확정한 배치는 텍스트 복사나 화면 캡처로 보관하세요.

동명이인이 있어요.

같은 이름은 자동으로 하나로 합쳐지므로 "김민준1", "김민준(2반)"처럼 구분해 입력해야 합니다.

함께 보기