조건의 순서가 바뀐 배열 문제, 경계값부터 다시 확인하기
안산강서고등학교, 안산고등학교, 안산동산고등학교 등 안산의 고등학교에 진학한 고3 학생은 중학교 때보다 이동과 과제, 시험 준비가 함께 늘어난다. 고잔동·선부동·초지동처럼 생활권과 통학 시간이 다른 상황에서는 짧은 시간 안에 조건을 구조화하는 풀이 습관이 특히 중요하다.
조건이 붙은 배열에서 처음 세운 식
학생은 다음 문제를 풀었다.
숫자 0, 1, 2, 3, 4, 5, 6을 한 번씩 사용하여 일곱 자리 수를 만들 때, 0은 맨 앞에 오지 않고 1은 4보다 앞에 오며 2와 3은 서로 이웃하는 경우의 수를 구하여라.
학생은 2와 3을 하나의 묶음으로 보고 2·3 또는 3·2를 고려했다. 그러나 작성한 답은 다음과 같았다.
오답: 2×6!×\frac12=720
이 식은 0이 맨 앞에 올 수 있는 배열까지 포함한다. 또한 1이 4보다 앞선다는 조건을 절반으로 처리하기 전에 0의 위치 제한이 적용되어야 하므로 단순히 전체 배열에 \(\frac12\)를 곱할 수 없다. 조건이 붙은 배열에서는 각 조건을 적용한 뒤 남은 범위가 달라지는지 확인해야 한다.
틀린 줄에 별표를 표시하고 범위를 재계산하기
학생은 오답의 첫 줄인 ★ 2×6!×\frac12에 표시한 뒤, 2와 3을 묶은 경우를 다시 세었다. 묶음의 방향은 2가지이고, 묶음과 0, 1, 4, 5, 6을 배열하는 방법은 6!이지만 0이 맨 앞에 오는 경우를 제외해야 한다.
0이 맨 앞에 오는 배열은 묶음의 방향 2가지와 나머지 다섯 대상을 배열하는 5!가지이므로, 0 조건만 반영한 수는
\[ 2(6!-5!)=2(720-120)=1200 \]
이다. 이제 1이 4보다 앞선다는 조건을 적용한다. 0의 위치 제한과 2·3의 묶음 조건을 동시에 만족하는 배열에서 1과 4의 역할을 바꾸는 대응이 가능하므로 정확히 절반씩 나뉜다.
\[ \frac{1200}{2}=600 \]
따라서 정답은 600이다. 학생은 별표 옆에 “0을 제외한 뒤 1과 4의 순서를 나눈다”라고 적고, 임의의 배열 \(3,2,1,6,4,5,0\)을 만들어 1이 4보다 앞서지 않음을 확인했다. 반대로 \(5,1,6,4,2,3,0\)은 모든 조건을 만족하므로 조건 점검표가 실제로 작동하는지도 확인했다.
조건을 두 개로 늘린 독립 검증
같은 풀이를 그대로 반복하지 않기 위해 조건을 바꾼 문제를 풀었다.
숫자 0, 1, 2, 3, 4, 5, 6, 7을 한 번씩 사용하여 여덟 자리 수를 만들 때, 0은 맨 앞에 오지 않고 2와 5는 이웃하지 않으며 1은 6보다 앞에 오는 경우의 수를 구하여라.
먼저 0이 맨 앞에 오지 않는 전체 배열은
\[ 7\cdot7!=35280 \]
이다. 이 중 2와 5가 이웃하는 배열은 묶음의 방향 2가지, 묶음과 나머지 6개를 배열하는 \(7!\)가지에서 0이 맨 앞에 오는 \(6!\)가지를 뺀 것이므로
\[ 2(7!-6!)=8640 \]
이다. 따라서 두 조건 중 0의 위치와 2·5의 비이웃 조건을 만족하는 수는
\[ 35280-8640=26640 \]
이고, 1과 6의 순서는 대칭적으로 절반씩 나뉜다.
\[ \frac{26640}{2}=13320 \]
마지막으로 학생은 \(1,0,3,4,6,7,2,5\)를 대입해 0이 앞이 아니고 1이 6보다 앞이지만 2와 5가 이웃하므로 제외되는 배열임을 확인했다. 이어 \(3,1,0,6,4,2,7,5\)를 넣어 세 조건을 모두 만족하는 배열로 검산했다. 조건이 두 개로 늘어나도 이전 식을 복사하지 않고, 바뀐 금지조건의 범위부터 다시 계산한 결과 정답은 13320이다.






