01. 첫 번째 수업: 순서가 지배하는 권력, 순열 (Permutation)
$A, B, C, D, E$ 라는 다섯 명의 플레이어가 게임 서버 랭킹전에 접속했습니다. 이 중에서 오직 최고 레벨 단 $3$명만을 꼽아서 차례대로 $[1등, 2등, 3등]$ 시상대 에 욱여넣으려 합니다.
이 시나리오가 그릴 수 있는 미친 평행우주 엔딩의 가지 수는 총 몇 개일까요? 손가락으로 $(A,B,C), (A,B,D), (B,A,C)…$ 세다가는 날이 샙니다. 바로 이 짓을 컴퓨터처럼 $1$초 만에 박살 내는 곱셈 파이프라인 엔진이 바로 순열(Permutation) 입니다.
1. 랭킹 시상대 파이프라인 (루프 연산)
우리가 방금 마주한 “경우의 수” 우주 생성 규칙에는 가장 무서운 필터 하나가 락(Lock) 으로 걸려 있습니다.
엄격한 철칙: “$[A, B, C]$ 순서 조합과, $[C, B, A]$ 순서 조합” 은 절대 똑같은 이벤트 시나리오가 아니다!
$A$가 $1$등(회장) 이고 $C$가 $3$등 인 세계관과, $C$가 $1$등 하고 $A$가 $3$등 떨거지인 세계관은 피가 튀는 권력의 위계가 완전히 바뀐 다른 세계입니다! 이렇게 “뽑혀 나온 순서의 자리 배치(Order)” 에 따라 목숨값이 갈리는 경우의 구조를 우리는 순열(Permutation: 순서대로 나란히 줄 세우기 배열) 이라고 부릅니다.
어떻게 해킹 연산해야 할까요? 머릿속에 투명한 $3$개의 [빈 상자] 슬롯을 렌더링 합시다!
[연속 뽑기 슬롯 머신 가동]
- 첫 번째 상자 (1등의 자리): 다섯 명의 인간 중 아직 아무도 자리에 앉지 않았습니다. 이 금메달 상자에 들어갈 수 있는 후보는? $\rightarrow$ $\mathbf{5}$ 명 전체 입니다! ($5$가지 분기점 트리 폭발)
- 두 번째 상자 (2등의 자리): 누군지 몰라도 아까 첫 번째 상자에 운 좋은 한 놈이 빨려 들어가면서 우주에서 증발했습니다. 이제 남은 인간은 몇 명입니까? $\rightarrow$ 딱 $\mathbf{4}$ 명 후보 만 남았습니다! ($4$가지 잔가지 트리가 또 밑에 더덕 붙음)
- 세 번째 상자 (3등의 자리): 앞에서 $1, 2$등 두 놈이 사라졌습니다. 이제 남은 떨거지는? $\rightarrow$ $\mathbf{3}$ 명 후보 뿐입니다! ($3$가지 미세 잔가지 부착)
자! 이 사건은 $1$등을 뽑은 상태에서 “그리고 이어 붙여 연달아 동시에 AND!” $2$등과 $3$등 슬롯까지 마저 채우는 복합 콤보 이벤트이기 때문에 이전 25권에서 배웠던 무자비한 “곱의 법칙($\times$)” 파이프라인이 찰칵 돌아가야 합니다.
순열 결괏값 도출: $5$가지 $\times$ $4$가지 $\times$ $3$가지 = 총 $\mathbf{60}$ 개의 시상대 엔딩 시나리오(경우의 수)!
2. 순열의 수학 기호 P (Permutation)
수학자들은 매번 “야 $5$마리 중에 순서대로 등수 매겨서 $3$놈 골라 세트로 곱해!” 라고 한국말로 적는 게 너무 귀찮았습니다. 그래서 이 긴 매크로 변수 코드를 압축어 명령 구문 하나에 다 담았습니다. 바로 머리글자 $\mathbf{P}$ 를 씁니다.
$\mathbf{_5P_3}$ (또는 $P(5, 3)$) = “총 인벤토리에 $\mathbf{5}$마리 객체가 있는데, 그중에서 랭킹 슬롯 $\mathbf{3}$칸짜리 의자를 준비해 놓고 차례대로($-1$씩 깎아가면서) 팩토리얼 곱셈 루프를 쳐 돌려라!”
만약 시험지에 $\mathbf{_8P_2}$ ($8$명 중 $2$명 반장, 부반장) 가 떴다면? 해커는 $0.1$초 만에 “$8$부터 시작해서, 뒤로 하나씩 깎으면서 딱 $2$칸어치만 곱해라! = $\mathbf{8 \times 7 = 56}$ 끝!” 하고 돌려버립니다.
만약 $10$명이 들어있는 교실에서 무려 똑같이 $10$명 전체 숫자를 몽땅 전부 다 불러내서 $1$등부터 꼴찌까지 쭉 한 줄로 기차 줄 세우기를 시키면 어떻게 될까요? $(\mathbf{{10}P{10}})$ 코드로는 $10 \times 9 \times 8 \times \dots 1$ 까지 끝없이 $1$이 뜰 때까지 브레이크 없이 내려가며 끔찍하게 곱해버릴 것입니다. 이 끝까지 다 뽑아 갈리는 기차 충돌 루틴을 지칭하는 기괴한 “느낌표($!$)” 심볼, ‘팩토리얼’ 로 다음 챕터에서 넘어가 뵙겠습니다.