04. 네 번째 수업: 내림차순 정리, 혼돈 속의 뼈대 찾기 (Sorting by Degree)
수학 시험지의 뒷면이나 실전 알고리즘 소스 코드 최하단에나 박혀있는 끝판왕 다항식의 형태는 $x^2 + 5x + 6$ 같은 예의 바른 수준이 아닙니다. $x$도 있고, $y$도 있고, 심지어 $z$도 섞여 있으면서 항등식 조각이 6~7개씩 지저분하게 늘어져 곱해진 궁극의 혼돈 덩어리입니다.
이럴 때 공통인수를 찾겠다고 이리저리 눈알을 굴려봤자 시간만 낭비입니다. 컴퓨터 데이터베이스에서 수만 건의 엉망진창 데이터 고객 리스트를 받았을 때 코더가 가장 먼저 하는 행동이 무엇일까요? 네, 액셀(Excel)의 정렬(Sort, 내림차순 필터) 버튼을 누르는 것입니다.
1. 쫄지 마라, 기준 알파벳 하나만 골라라 (Sorting Key)

수식 덩어리: \(x^2 + xy - 2y^2 + 2x + 5y - 3\)
이 수식을 마주치면 인간의 뇌는 정지합니다. 항이 여섯 개나 되고 문자가 2개씩 뒤섞여 있기 때문입니다. 이때 프로그래머의 침착함을 발동하여 정렬 기준(Sorting Key) 을 하나 세웁니다. “이 다항식은 무조건 주인공 파이프 하나, 즉 $x$ 를 기준으로 차수가 높은 놈부터 낮은 놈 순서대로 아래로 쭉 세운다. 나머지 알파벳 $y$ 나부랭이들은 그냥 전부 투명한 숫자 조무래기로 취급한다!”
이것을 “특정 문자에 대한 내림차순(Descending Order) 정리” 라고 부릅니다.
2. 엑셀 스크립트 실행 (재배치)
$x$ 만을 왕으로 모시고, 왕의 머리 위 계급장(차수)이 높은 곳에서 낮은 곳으로 항의 자리를 옮겨 재배치하겠습니다.
- $x$의 2차항: $x^2$ (맨 앞 고정)
- $x$의 1차항 묶기: $xy$ 와 $2x$
- $x$ 핀셋으로 공통 묶기 $\rightarrow \mathbf{+(y + 2)x}$
- 찌끄레기 (x가 하나도 없는 떨거지들 묶음): $-2y^2 + 5y - 3$
- 마이너스 빼고 묶기 $\rightarrow \mathbf{-(2y^2 - 5y + 3)}$
자, 다시 한 줄로 합쳐보겠습니다!!
$x^2 + (y + 2)x - (2y^2 - 5y + 3)$
3. 기적이 일어나다 (패턴의 부활)
재조립된 수식의 거대한 꼬라지를 눈 크게 뜨고 멀리서 다시 쳐다보십시오. $x$를 기준으로 삼았더니, 저 혼돈의 덩어리 수식이 놀랍게도: “[x의 제곱] + [어떤 큰 숫자]x - [엄청 길고 큰 숫자]” 의 완벽한 십자가 $2$차 인수분해 기본 뼈대로 귀환해 버렸습니다!
-
꼬리 부분 파괴 (상수항 인수분해): 맨 뒷부분 찌꺼기 괄호 $-(2y^2 - 5y + 3)$ 은 지들끼리 십자가 인수분해가 되어 $\mathbf{-(2y - 3)(y - 1)}$ 이라는 두 덩어리 곱으로 분해됩니다.
-
메인 거대 십자가 매칭: 이제 두 덩어리 $(2y - 3)$ 와 $(y - 1)$ 을 위아래로 배치하고, 그 둘을 위아래로 더해서 가운데 허리 부분인 $(y+2)$ 가 맞춰지는 음양 조합(마이너스 부호 분배) 을 찾아냅니다. 놀랍게도 아귀가 완벽하게 다 맞아 들어갑니다.
해킹 최종 결과 (압축 완료): $(x + 2y - 3)(x - y + 1)$
이렇게 복잡하게 얽혀 있던 여섯 개의 괴물 슬라임 덩어리를 단 두 개의 괄호 상자로 무사히 분쇄 완료했습니다. 무질서한 데이터는 “기준점을 세워 내림차순 정렬(Sorting)” 하는 순간, 숨겨진 인공지능 패턴을 그대로 드러낸다는 우주의 섭리 스킬이었습니다.
다음 수업에서는, 어떤 문자 내림차순 꼼수도 막히고 $3$차 이상의 $x$ 혼자서 무식하게 밀고 들어오는 보스몹을 부수기 위한 수학 역사상 최고로 무식하고 파괴적인 기술, ‘조립제법’ 에 대해 알아봅니다.