순열은 순서를 생각하여 늘어서는 방법이에요.
고등학교에서는 세 가지 특별한 순열을 배워요.
원순열, 중복순열, 같은 것이 있는 순열이에요.
원순열 · 중복순열 · 같은 것이 있는 순열 · 중복조합 · 이항정리와 파스칼 삼각형
어떤 일이 일어날 수 있는 모든 가짓수를 경우의 수라고 해요.
경우의 수는 확률과 통계의 단단한 바탕이 됩니다.
암호와 인공지능도 경우의 수를 세는 데서 출발해요.
4자리 숫자 비밀번호는 1만 가지뿐이에요. 컴퓨터가 0.001초 만에 풀어냅니다.
하지만 문자, 숫자, 기호를 섞어 8자리를 만들면 달라져요.
경우의 수가 6천조 가지로 늘어나 풀기까지 수년이 걸려요.
로또는 45개 번호 중 순서 없이 6개를 뽑아요.
가능한 조합이 814만 가지나 된답니다.
그래서 1등에 당첨될 확률은 벼락 맞을 확률보다 낮아요.
바둑에서 둘 수 있는 판의 변화는 우주의 원자 수보다 많아요.
경우의 수가 너무 커서 컴퓨터도 다 계산할 수 없지요.
인공지능은 수학적 방법으로 가장 좋은 길을 찾아냅니다.
공통수학의 순열과 조합 개념을 점검해 보세요.
순열은 순서가 중요해요. 반장과 부반장을 뽑는 것처럼 자리가 다르면 다른 경우예요.
조합은 순서에 상관없이 뽑기만 해요. 청소 당번 2명을 뽑는 것과 같답니다.
순열은 순서를 생각하여 늘어서는 방법이에요.
고등학교에서는 세 가지 특별한 순열을 배워요.
원순열, 중복순열, 같은 것이 있는 순열이에요.
동그란 식탁에 둘러앉을 때가 바로 원순열이에요.
돌렸을 때 겹치는 자리는 하나로 봅니다.
그래서 n으로 나눈 (n-1)!가지가 돼요.
뽑았던 것을 또 뽑으면 중복순열이에요.
매 자리마다 n가지 선택이 가능해요.
경우의 수는 ₙΠᵣ = nʳ가지가 됩니다.
구별되지 않는 원소가 섞여 있을 때도 있어요.
그때는 같은 것이 있는 순열을 써요.
같은 것끼리 자리 바꾸는 수로 나누어 줍니다.
원순열: n!/n = (n-1)! | 중복순열: ₙΠᵣ = nʳ | 같은 것 순열: n!/(p!q!r!)동그란 탁자에서는 자리를 한 칸씩 옮겨 앉아도 서로의 좌우 관계가 변하지 않아요.
돌려서 똑같아지는 배열이 정확히 n가지씩 생깁니다.
그래서 일렬 순열 n!을 n으로 나누어 (n-1)!이 돼요.
기호 Π는 그리스 문자 '파이(Pi)'의 대문자예요.
곱하기(Product)를 뜻하는 영단어의 앞 글자 P에 해당합니다.
매 자리마다 같은 수를 거듭하여 곱한다는 뜻이에요.
예제 1 (원순열과 이웃 조건): 부모님 2명과 자녀 3명(총 5명)이 원탁에 둘러앉을 때, 부모님이 이웃하여 앉는 경우의 수는?
→ 부모님 2명을 한 묶음으로 보면 총 4명을 원탁에 앉히는 원순열이므로 (4−1)! = 3! = 6가지입니다. 묶음 안에서 부모님이 자리를 바꾸는 경우가 2! = 2가지이므로, 구하는 경우의 수는 6 × 2 = 12가지입니다.
예제 2 (중복순열의 밑과 지수 구분): 서로 다른 편지 4통을 서로 다른 우체통 3개에 넣는 경우의 수는? (단, 빈 우체통이 있어도 됨)
→ 선택하는 주체(편지 4통)가 각각 3개의 우체통 중 하나를 고르므로, 첫째 편지 3가지 × 둘째 편지 3가지 × 셋째 편지 3가지 × 넷째 편지 3가지 = ₃Π₄ = 3⁴ = 81가지입니다.
예제 3 (같은 것이 있는 순열): 숫자 1, 1, 2, 2, 2, 3 총 6개를 일렬로 나열하여 만들 수 있는 여섯 자리 자연수의 개수는?
→ 전체 6개 중 1이 2개, 2가 3개, 3이 1개이므로 6! / (2! × 3! × 1!) = 720 / 12 = 60개입니다.
오른쪽으로 4칸, 위로 3칸 가야 목적지에 도착해요.
오른쪽 화살표 4개와 위쪽 화살표 3개를 나열하는 것과 같아요.
순서만 정하면 길이 결정되므로 같은 것 순열 공식과 일치합니다.
예를 들어 세 개의 A를 A₁, A₂, A₃로 서로 다르다고 가정하면 이 세 문자를 배열하는 방법은 3! = 6가지입니다. 그러나 이들은 실제로는 모두 같은 글자 A이므로, 6개의 서로 다른 순열이 실제로는 단 1가지의 동일한 상태로 겹칩니다. 따라서 전체 n!을 같은 원소들의 자체 자리바꿈 수인 p!, q!, r!로 나누어 중복을 상쇄하는 것입니다.
n개의 빈칸 중 같은 문자 A가 들어갈 p개 자리를 택하는 경우의 수는 ₙCₚ입니다. 남은 n-p개 자리 중 B가 들어갈 q개 자리를 택하는 수는 ₙ₋ₚC_q입니다. 이를 곱하면:
ₙCₚ × ₙ₋ₚC_q = n! / (p!q!...)
놀랍게도 같은 것이 있는 순열 공식과 완벽하게 일치합니다!
가장 빈번한 실수는 "우체통 3개에 편지 5통을 넣을 때" 3⁵인지 5³인지 헷갈리는 것입니다. 선택의 주체를 생각하세요! 각 편지가 3개의 우체통 중 하나를 고를 수 있으므로 3 × 3 × 3 × 3 × 3 = 3⁵입니다. 즉 (선택할 수 있는 대상의 수)(선택하는 주체의 수)입니다.
원탁에서는 어느 자리에 첫 사람이 앉아도 회전하면 모두 같으므로 기준 자리 선택이 1가지입니다. 그러나 정삼각형이나 직사각형 식탁에서는 모서리 왼쪽·오른쪽처럼 회전해도 겹치지 않는 서로 다른 기준 자리의 개수 k가 존재합니다. 따라서 먼저 원순열 (n-1)!을 구한 뒤 구별되는 기준 자리의 수 k를 곱해 (n-1)! × k로 계산하면 모든 다각형 식탁 문제를 한 번에 해결할 수 있습니다.
순서 없이 고르되, 중복을 허용하는 뽑기예요.
이것을 중복조합이라 부릅니다.
기호로는 ₙHᵣ 로 적어요.
n가지 종류를 나누려면 칸막이가 필요해요.
칸막이는 n-1개면 충분합니다.
공 r개와 칸막이를 합쳐 자리를 만들어요.
전체 자리는 n+r-1개가 돼요.
그중 공이 들어갈 자리를 고르면 됩니다.
그래서 ₙHᵣ = ₙ₊ᵣ₋₁Cᵣ 공식이 나와요.
핵심 공식: ₙHᵣ = ₙ₊ᵣ₋₁Cᵣ | 음이 아닌 정수해: ₙHᵣ | 자연수해(xᵢ ≥ 1): ₙHᵣ₋ₙ기호 H는 '동차(Homogeneous)'를 뜻하는 단어에서 따왔어요.
다항식에서 모든 항의 차수가 같을 때 동차식이라고 부릅니다.
문자들을 중복해서 뽑아 동차식을 만드는 데서 유래했어요.
식빵 하나를 세 조각으로 자르려면 칼질을 두 번만 하면 돼요.
구역을 n개로 나누려면 경계선은 n-1개면 충분합니다.
그래서 종류 수보다 1 작은 수만큼 칸막이를 씁니다.
예제 1 (음이 아닌 정수해 vs 양의 정수해): 방정식 x + y + z = 8의 해의 개수를 조건별로 구해 봅시다.
① 음이 아닌 정수해(x, y, z ≥ 0): 0이 되어도 되므로 서로 다른 문자 3개에서 중복을 허락해 8번을 뽑는 경우의 수와 같습니다. ₃H₈ = ₁₀C₈ = ₁₀C₂ = 45가지.
② 양의 정수(자연수)해(x, y, z ≥ 1): 각 문자가 최소 1 이상이어야 하므로 x = x′+1, y = y′+1, z = z′+1 (x′, y′, z′ ≥ 0)로 치환하면 x′ + y′ + z′ = 5가 됩니다. 따라서 ₃H₅ = ₇C₅ = ₇C₂ = 21가지입니다.
예제 2 (단조증가 함수의 개수): 정의역 X = {1, 2, 3}에서 공역 Y = {1, 2, 3, 4, 5}로의 함수 f 중 f(1) ≤ f(2) ≤ f(3)을 만족하는 함수의 개수는?
→ 등호가 포함되어 같은 함숫값을 중복해서 고를 수 있고, 뽑기만 하면 크기순으로 f(1), f(2), f(3)에 자동 배정되므로 공역 5개 중 중복을 허용해 3개를 뽑는 중복조합 ₅H₃ = ₇C₃ = 35가지입니다.
음이 아닌 정수는 0을 포함해요. 아무것도 받지 못하는 상자가 있어도 됩니다.
자연수는 1 이상이어야 해요. 빈 상자가 없어야 한다는 뜻이에요.
자연수해 문제는 미리 1개씩 나눠 주고 시작하면 쉽게 풀립니다.
a < b ⇒ f(a) < f(b)는 공역에서 서로 다른 값을 택하기만 하면 크기순으로 알아서 정의역의 작은 수부터 큰 수로 짝지어지므로 순서가 자동으로 결정되어 조합 ₙCᵣ입니다. 반면 f(a) ≤ f(b)처럼 등호가 허용되면 "같은 함숫값을 여러 번 골라도 된다"는 뜻이 되므로 공역의 원소 중에서 중복을 허용하여 r개를 뽑는 중복조합 ₙHᵣ이 되는 것입니다.
1 ≤ x₁ ≤ x₂ ≤ ... ≤ xᵣ ≤ n을 만족하는 정수해를 구할 때, y_k = x_k + (k-1)로 치환하면 엄격한 부등식 1 ≤ y₁ < y₂ < ... < yᵣ ≤ n+r-1로 바뀝니다. 따라서 1부터 n+r-1까지의 서로 다른 정수 중 r개를 고르는 단순 조합 ₙ₊ᵣ₋₁Cᵣ과 정확히 일대일 대응됩니다.
방정식 x+y+z=10에서 자연수해를 구할 때, 미리 1씩 주고 남은 것을 나누어야 하므로 x'+y'+z'=7이 되어 ₃H₇을 풀어야 합니다. 종종 문제를 대충 읽고 곧바로 ₃H₁₀을 적용하여 틀리는 경우가 매우 많습니다. 반드시 "0을 가질 수 있는가(음이 아닌 정수)?"를 확인하세요!
다항식 (x + y + z)ⁿ을 전개할 때 생기는 모든 항은 xᵖ y^q zʳ (p+q+r=n, p,q,r ≥ 0) 꼴입니다. 따라서 전개식에서 동류항끼리 정리한 뒤의 서로 다른 항의 개수는 문자 3개 중 중복을 허용해 n번을 택하는 중복조합의 수 ₃Hₙ과 정확히 같습니다.
두 항의 합을 거듭제곱한 식을 전개해 봐요.
(a+b)ⁿ을 펼치는 정리를 이항정리라고 해요.
각 괄호에서 문자를 하나씩 골라 곱합니다.
b를 r번 고르는 경우의 수는 조합 ₙCᵣ이에요.
그래서 항의 계수는 조합의 수가 됩니다.
각 항을 대표하는 식을 일반항이라고 불러요.
이 계수들을 삼각형으로 늘어놓을 수 있어요.
이것이 바로 파스칼의 삼각형입니다.
위의 두 수를 더하면 바로 아래 수가 돼요.
(a+b)ⁿ = Σ ₙCᵣ aⁿ⁻ʳ bʳ (일반항: ₙCᵣ aⁿ⁻ʳ bʳ)여기서 '이항'은 항을 다른 변으로 옮긴다는 뜻이 아니에요.
두 개(二)의 항(項)으로 이루어진 식이라는 뜻입니다.
a+b처럼 항이 두 개인 식의 거듭제곱을 다루는 정리예요.
(a+b)ⁿ은 (a+b) 괄호가 n개 곱해진 식이에요.
aⁿ⁻ʳbʳ 항을 만들려면 괄호 n개 중 r개에서 b를 골라야 해요.
괄호를 고르는 방법의 수가 바로 조합 ₙCᵣ이 된답니다.
1단계 (일반항 세우기): (A + B)ⁿ의 일반항 ₙCᵣ Aⁿ⁻ʳ Bʳ을 적습니다.
2단계 (계수와 문자의 거듭제곱 분리): 숫자는 숫자끼리, 문자 x는 지수법칙으로 한데 묶어 (계수 부분) × x^(지수 식) 꼴로 정리합니다.
3단계 (r값 결정 및 대입): 원하는 차수와 지수 식이 같아지는 r을 구해 계수 부분에 대입합니다.
예제 1: (x + 2)⁵의 전개식에서 x³의 계수는?
→ 일반항은 ₅Cᵣ x⁵⁻ʳ 2ʳ = ₅Cᵣ 2ʳ x⁵⁻ʳ입니다. 5 − r = 3 ⇒ r = 2를 대입하면 계수는 ₅C₂ × 2² = 10 × 4 = 40입니다.
예제 2 (상수항 구하기): (x² + 1/x)⁶의 전개식에서 상수항은?
→ 1/x = x⁻¹이므로 일반항은 ₆Cᵣ (x²)⁶⁻ʳ (x⁻¹)ʳ = ₆Cᵣ x¹²⁻³ʳ입니다. 상수항은 x의 지수가 0일 때이므로 12 − 3r = 0 ⇒ r = 4입니다. 따라서 상수항은 ₆C₄ = ₆C₂ = 15입니다.
파스칼 삼각형에서 빗변을 따라 비스듬히 숫자들을 더해 내려가 봐요.
그 합이 마지막 수의 반대쪽 아래에 적혀 있어요.
묶인 모양이 꺾인 하키스틱 채를 꼭 닮아서 이런 이름이 붙었어요.
(a+b)(a+b)...(a+b)는 n개의 괄호에서 각각 a 또는 b 중 하나를 골라 곱하는 연산입니다. 따라서 aⁿ⁻ʳ bʳ이라는 항이 만들어지려면, n개의 괄호 중 b를 선택할 r개의 괄호를 고르는 경우의 수인 ₙCᵣ번만큼 그 항이 생겨서 더해지기 때문입니다.
(1+x)²ⁿ의 전개식에서 xⁿ의 계수는 ₂ₙCₙ입니다. 한편 우변 (1+x)ⁿ(x+1)ⁿ에서 xⁿ이 만들어지는 경우는 앞 괄호에서 xᵏ, 뒤 괄호에서 1ᵏ을 고를 때이므로, (ₙC₀)² + (ₙC₁)² + … + (ₙCₙ)² = ₂ₙCₙ이라는 아름다운 항등식이 성립합니다.
(2x - 3y)⁵에서 x² y³의 계수를 구할 때 ₅C₃만 계산하는 치명적인 실수가 잦습니다. 일반항은 ₅Cᵣ (2x)⁵⁻ʳ (-3y)ʳ이므로 반드시 계수 부분인 -1080을 모두 곱해야 합니다.
파스칼의 삼각형에서 완만한 대각선 방향의 수들을 차례대로 더하면 1, 1, 2, 3, 5, 8, 13, …인 피보나치 수열이 나타납니다. 또한 홀수를 색칠하고 짝수를 비워 두면 작은 정삼각형 무늬가 끝없이 반복되는 시에르핀스키 삼각형(Sierpiński Triangle) 패턴을 관찰할 수 있습니다.
어려운 실전 문제도 원리를 알면 쉬워져요.
네 가지 실전 전략을 꼭 기억해 두세요.
첫째, '적어도'가 나오면 여사건을 써요.
둘째, 자기 자리를 피할 때는 수형도를 그려요.
이를 완전순열이라고 부릅니다.
셋째, 조를 나눌 때는 인원수를 살펴요.
같은 인원의 조가 있으면 팩토리얼로 나눕니다.
넷째, 순서와 중복 여부로 공식을 골라요.
이 기준만 서면 어떤 문제도 풀 수 있어요.
모든 사람이 자기 물건을 갖지 않고 남의 것을 갖는 경우예요.
선물 교환이나 자기 시험지를 피해 채점할 때 나와요.
공식을 외우기보다 수형도로 차근차근 세는 것이 안전합니다.
인원수가 같은 조는 아직 이름이 없어 서로 구별되지 않아요.
A조, B조처럼 이름표를 붙이기 전에는 순서가 없는 셈이에요.
그래서 자리바꿈으로 생기는 중복만큼 나누어 줍니다.
예제 1 (4명의 완전순열 수형도): 4명(A, B, C, D)이 각자 자기 모자를 벗어 섞은 뒤 임의로 하나씩 쓸 때, 4명 모두 남의 모자(a, b, c, d)를 쓰는 경우의 수는?
→ 첫 번째 사람 A가 쓸 수 있는 모자는 b, c, d의 3가지입니다. 만약 A가 b를 썼다면, (B, C, D)가 (a, d, c), (c, d, a), (d, a, c)를 쓰는 3가지 경우가 생깁니다. 대칭성에 의해 A가 c나 d를 쓸 때도 똑같이 3가지씩 나오므로 총 3 × 3 = 9가지입니다.
예제 2 (조 나누기와 분배): 서로 다른 6명의 학생을 2명, 2명, 2명의 3개 조로 나눈 뒤, 3개의 서로 다른 봉사 구역에 배정하는 경우의 수는?
→ ① 조 나누기(분할): 세 조의 인원수가 2명으로 모두 같아 조끼리 구별되지 않으므로 ₆C₂ × ₄C₂ × ₂C₂ × (1/3!) = 15가지.
→ ② 구역 배정(분배): 나누어진 3개 조를 서로 다른 3개 구역에 일렬 배정하므로 15 × 3! = 90가지입니다.
'적어도 하나가 짝수'라는 조건은 '짝수가 1개인 경우, 2개인 경우, 3개인 경우...'를 각각 따로 계산하여 모두 더해야 하므로 분류할 케이스가 너무 많습니다. 반면 그 반대인 '모두 홀수'인 경우는 단 1가지 경우뿐이므로 전체 경우의 수에서 여사건을 빼는 것이 압도적으로 신속하고 실수를 원천 차단합니다.
조건이 비대칭적이거나 특수한 제약이 걸려 공식화하기 어려운 문제는 수형도를 직접 그려 가지치기를 하는 것이 가장 안전하고 확실한 표준 해법입니다. 특히 4명의 완전순열(9가지)은 첫 번째 자리 문자가 3가지로 나뉘고 각각이 3가지로 분기하는 대칭적 수형도로 단 10초 만에 검산할 수 있습니다.
6명을 2명, 2명, 2명의 세 조로 나눌 때 ₆C₂ × ₄C₂ × ₂C₂로 끝내면 안 됩니다! 조의 인원수가 2명으로 서로 같으므로 3개 조 사이의 순서가 무의미하여 반드시 3!으로 나누어야 합니다. 그 후 이 세 조를 3개의 청소 구역에 배정할 때 다시 3!을 곱해 분배합니다.
이웃한 영역에 서로 다른 색을 칠하는 문제에서 마주 보는 두 영역(예: B와 D)이 인접하지 않을 때는, ① B와 D에 같은 색을 칠하는 경우와 ② B와 D에 서로 다른 색을 칠하는 경우로 나누어 합의 법칙을 적용해야 마지막 영역(C)에 칠할 수 있는 색의 개수가 하나로 확정됩니다.
딱 두 가지만 물어보면 돼요. "순서가 있는가?" 그리고 "중복이 되는가?"
순서가 있고 중복 없으면 순열(P), 중복되면 중복순열(Π)이에요.
순서가 없고 중복 없으면 조합(C), 중복되면 중복조합(H)입니다.
중복조합 ₙHᵣ은 왜 ₙ₊ᵣ₋₁Cᵣ과 같아질까요?
‘칸막이’를 떠올리며 친구에게 설명해 봐요.
기록하기 전에 — 방금 배운 걸 눈을 감고 꼭 한 번 떠올려 봐요.
그렇게 스스로 떠올려 본 것이 진짜 ‘내 것’이 된답니다.
내가 배운 것들이 어떻게 이어지는지, 어디를 더 봐야 하는지 한눈에 봐요. (위에서 이해도 평가를 하면 색으로 표시돼요.)
방금 배운 경우의 수를 머릿속에 천천히 그려 봐요.
원순열과 중복순열 → 같은 것이 있는 순열 → 중복조합 칸막이 모델 → 이항정리와 파스칼의 삼각형
떠오르는 만큼만, 괜찮아요.
떠오르는 동안 잠시 기다려요…