This lesson is only available in Korean for now.
Lesson 15 of 20
조합 — 순서를 따지지 않는 뽑기
파스칼 삼각형과 이항정리
누가 뽑혔는지만 중요하면 조합입니다. 순열을 r!로 나눈 것이에요.
이번엔 학생 5명 중 3명을 뽑아 청소 당번을 정합니다. 등수는 없어요.
"민준·서연·지호"와 "지호·민준·서연"은 같은 조입니다.
순열로는 60가지였죠. 그런데 같은 3명을 늘어놓는 방법이 3! = 6가지이므로,
6개씩 묶어서 하나로 세야 합니다.
C(5,3) = P(5,3) / 3! = 60 / 6 = 10
일반적으로 조합(combination)은 이렇게 씁니다.
C(n, r) = n! / (r! (n−r)!) (읽기: n개 중 r개 뽑기)
같은 3명을 늘어놓는 6가지를 하나로 묶은 것이 조합입니다.
Python
Runs in your browser
🎮 파스칼 삼각형을 쌓아 보세요
양옆의 두 수를 더하면 아래 수가 됩니다. 그 수가 바로 C(n, r) 이에요.
칸을 눌러 그 수가 무슨 뜻인지 확인해 보세요.
파스칼의 항등식 — 왜 더하면 될까
C(n, r) = C(n−1, r−1) + C(n−1, r)
공식을 외우는 대신 이야기로 이해해 봅시다.
n명 중 r명을 뽑는데, 그중 민준이를 기준으로 경우를 나눕니다.
- 민준이가 뽑힌 경우 — 나머지 n−1명 중 r−1명을 더 뽑는다 →
C(n−1, r−1)
- 민준이가 안 뽑힌 경우 — 나머지 n−1명 중 r명을 뽑는다 →
C(n−1, r)
둘은 겹치지 않고 이 둘이 전부이므로 합의 법칙으로 더하면 됩니다.
이런 증명을 조합적 증명이라고 해요 — 계산 없이 세는 방식만으로 등식을 세웁니다.
덧셈만으로 조합의 수가 전부 만들어집니다.
Python
Runs in your browser
이항정리 — 괄호를 펼치면 조합이 나온다
(x + y)ⁿ = Σ C(n,r) xn−r yr
왜 조합이 나올까요? (x+y)(x+y)(x+y) 를 펼칠 때, 각 괄호에서
x나 y를 하나씩 골라 곱합니다. x²y 항이 나오려면
세 괄호 중 어느 하나에서 y를 고르면 되므로 C(3,1) = 3가지 —
그래서 계수가 3입니다.
덤으로, x = y = 1 을 넣으면
2ⁿ = C(n,0) + C(n,1) + … + C(n,n).
7강에서 본 부분집합의 개수 2ⁿ이 여기서 다시 나옵니다 —
"0개 뽑기 + 1개 뽑기 + … + n개 뽑기 = 모든 부분집합"이니까요.
이항계수는 파스칼 삼각형의 한 줄이고, 그 합은 2ⁿ입니다.
Python
Runs in your browser
로또는 순서를 따지지 않으므로 조합입니다.
Python
Runs in your browser
🤔 Check yourself
10명의 학생 중 4명을 뽑아 조 편성을 하는 방법의 수는?
Answer 조에는 순서·직책이 없으므로 조합입니다 — C(10,4) = 210. P(10,4)=5040은 네 명에게 서로 다른 직책을 줄 때의 수이고, 정확히 4! = 24배 큽니다.
🤔 Check yourself
C(8, 6) 을 가장 쉽게 계산하는 방법은?
Answer 대칭성 C(n,r) = C(n,n−r) 을 쓰면 6개 뽑기가 2개 안 뽑기가 됩니다 — C(8,2) = (8×7)/2 = 28. 뽑을 쪽과 남길 쪽 중 작은 쪽으로 계산하세요.
🤔 Check yourself
C(n,0) + C(n,1) + … + C(n,n) 의 값은?
Answer 0개 뽑기부터 n개 뽑기까지 모두 더하면 모든 부분집합의 개수가 되므로 2ⁿ입니다 (7강). 이항정리에 x = y = 1을 넣어도 같은 결과가 나와요.