함수 개수 공식 암기 대신 순서와 중복만 확인하면 조건별로 끝납니다

함수의 개수를 구하는 공식을 외울 때마다 조건이 바뀌면 순열인지 조합인지 헷갈리셨나요? 정의역과 공역의 원소 개수만 주어졌을 때는 중복순열로 바로 풀리지만, 일대일함수 조건이나 대소 관계 조건이 붙으면 공식이 여러 개로 갈라집니다. 실제로는 암기할 필요 없이 순서를 따지는지와 중복을 허용하는지 두 가지만 확인하면 됩니다. 이 글에서는 함수 개수 공식을 문장으로 해석하는 방법과 조건별 풀이 구조를 정리합니다.

함수의 개수를 좌우하는 두 가지 질문

정의역 X의 원소 개수를 r, 공역 Y의 원소 개수를 n이라고 하겠습니다. 함수 f가 X에서 Y로 갈 때 만들 수 있는 함수의 개수는 딱 두 가지 질문으로 나뉩니다. 첫째는 순서를 따지는가이고, 둘째는 중복을 허용하는가입니다. 이 두 질문에 답하면 공식을 고르는 기준이 분명해집니다.

  • 순서를 따지는지, 뽑는 순서가 결과에 영향을 주는지
  • 중복을 허용하는지, 같은 값을 여러 번 쓸 수 있는지
조건순서중복공식
일반 함수따짐허용n의 r제곱
일대일함수따짐불가nPr
엄격한 대소 관계안 따짐불가nCr
등호 포함 대소 관계안 따짐허용nHr
함수 개수 공식

일반 함수와 일대일함수

일반 함수는 공역의 원소 n개 중에서 정의역의 원소 r개를 순서대로 선택하면서 중복을 허용하므로 n의 r제곱입니다. 예를 들어 X가 3개, Y가 4개라면 4의 3제곱인 64가지가 됩니다. 일대일함수는 서로 다른 정의역 원소가 서로 다른 공역 원소로 가야 하므로 중복을 허용하지 않고 순서를 따지는 순열 nPr이 됩니다. 같은 예에서 4P3은 24가지입니다.

이때 n은 내가 고를 수 있는 후보의 수이고, r은 실제로 고르는 횟수라고 문장으로 먼저 정리하면 n과 r을 바꿔 넣는 실수를 줄일 수 있습니다. 공역의 원소 개수 n이 선택지의 후보이고, 정의역의 원소 개수 r이 시행 횟수라는 사실을 문제에 표시해 두면 식이 헷갈리지 않습니다.

대소 관계 조건은 조합과 중복조합

x1이 x2보다 작을 때 f(x1)이 f(x2)보다 작은 엄격한 대소 관계는 서로 다른 값을 골라 크기 순서로 정렬하는 것이므로 조합 nCr입니다. 반대로 f(x1)이 f(x2)보다 작거나 같다는 등호가 포함되면 같은 값을 골라도 되므로 중복조합 nHr이 됩니다. 중복조합은 n+r-1 C r로 계산합니다. 예를 들어 3H2는 4C2라서 6가지입니다. 이 내용은 함수 개수 공식 가운데에서도 비교적 헷갈리는 부분이라서 표로 정리해 두고 문제를 풀 때마다 대조하는 습관이 좋습니다.

등호가 섞일 때 보정하는 방법

부등호에 등호가 섞이면 일일이 경우를 나누다가 시간을 다 쓰기 쉽습니다. 예를 들어 f(1)이 f(2)보다 작거나 같고 f(2)가 f(3)보다 작으며 f(3)이 f(4)보다 작거나 같은 혼합 조건에서는 등호를 없애는 보정값을 더합니다. g(1)은 f(1), g(2)는 f(2)+1, g(3)은 f(3)+1, g(4)는 f(4)+2로 두면 모든 부등호가 엄격한 부등호로 바뀝니다. 결과적으로 1부터 g(1), g(2), g(3), g(4)가 차례로 커지는 구조가 되어 n+2 중에서 4개를 고르는 조합 문제가 되고, 답은 n+2 C 4가 됩니다. 등호의 개수와 더한 보정값의 개수가 정확히 일치하는지 확인하면 실수를 막을 수 있습니다.

이 보정 방법을 처음 배우면 외운 공식이 우연히 맞았다고 느낄 수 있습니다. 하지만 직접 경우를 나누어 세는 방식과 답이 정확히 일치하는 것을 확인하면 구조적으로 반드시 같을 수밖에 없다는 확신을 얻을 수 있습니다. 그래서 공식을 단순히 외우기보다 보정값을 더하는 원리를 이해하는 것이 중요합니다.

함숫값이 고정되면 구간을 나눈다

f(a)가 b로 고정되면 전체 문제를 독립된 두 구간으로 나눌 수 있습니다. 예를 들어 X가 1부터 4까지, Y가 1부터 5까지인 상황에서 f(1)이 f(2)보다 작거나 같고 f(2)가 f(3)보다 작거나 같으며 f(3)이 f(4)보다 작거나 같고 f(2)가 3인 경우를 보겠습니다. f(1)은 1, 2, 3 중에서 고르므로 3가지입니다. f(3)과 f(4)는 3, 4, 5 중에서 중복을 허용해 2개를 고르므로 3H2는 6가지입니다. 두 구간은 서로 독립이므로 곱의 법칙을 적용해 3 곱하기 6인 18가지가 됩니다.

이때 경계값 3이 상단 구간의 최댓값이자 하단 구간의 최솟값으로 양쪽 모두에 포함되어야 한다는 점을 꼭 확인해야 합니다. 경계값을 한쪽 구간에만 넣는 실수가 실제 시험에서 가장 흔한 감점 원인입니다. 문제를 풀 때 경계값을 두 번 셌는지, 아니면 빼먹었는지 표시해 두면 안전합니다.

아닌 조건은 전체에서 빼는 방법

f(1)이 b가 아니라는 조건이 나오면 직접 세려고 하지 말고 전체에서 반대 경우를 빼는 여사건을 쓰는 것이 빠릅니다. 먼저 부등호 조건만 만족하는 전체 경우의 수를 구하고, f(1)이 b일 때의 경우의 수를 구한 뒤 전체에서 빼면 됩니다. 만약 f(1)이 1이 아니고 f(2)가 5가 아닌 것처럼 조건이 두 개 겹치면, 여사건은 f(1)이 1이거나 f(2)가 5인 합집합이 됩니다. 이때 두 조건을 동시에 만족하는 교집합을 반드시 한 번 빼주어야 중복 계산을 피할 수 있습니다.

드모르간의 법칙과 합집합의 원소 개수 공식을 함께 쓰면 복잡해 보이는 부정 조건도 차근차근 풀립니다. 전체에서 하나씩 빼다 보면 중복으로 빠지는 경우가 생기기 때문에, 조건이 두 개 이상인 문제에서는 교집합을 표시해 두는 습관이 좋습니다.

실수를 줄이는 확인 순서

저도 학생 때 함수 개수 공식을 암기하다가 조건이 조금만 바뀌면 틀리곤 했습니다. 이후 n과 r을 문장으로 먼저 쓰고 순서와 중복을 표에 대입하는 습관을 들이면서 실수가 크게 줄었습니다. 문제를 풀고 나서 다음 네 가지만 점검해도 실수의 대부분을 줄일 수 있습니다.

  • n과 r을 바꿔 넣지 않았는지
  • 등호의 개수와 보정값의 개수가 일치하는지
  • 함숫값이 고정될 때 경계값이 양쪽 구간에 포함되었는지
  • 복합 부정 조건에서 교집합을 빼는 것을 잊지 않았는지

이렇게 정리해 두면 시험장에서도 공식을 다시 유도하느라 시간을 쓰지 않고, 조건을 문장으로 읽어내는 능력에 집중할 수 있습니다. 함수의 개수는 암기 과목이 아니라 정의를 문장으로 읽어내고 그 문장을 순서와 중복이라는 두 질문으로 바꾸는 능력입니다.

자주 묻는 질문

Q: 함수의 개수를 구할 때 n과 r을 자꾸 바꿔 넣는데 어떻게 하면 실수를 줄일 수 있나요?
A: n은 공역의 원소 개수로 내가 고를 수 있는 후보의 수이고, r은 정의역의 원소 개수로 실제로 고르는 횟수입니다. 문제를 읽고 문장으로 먼저 적은 뒤 식에 넣으면 바꿔 넣는 실수를 줄일 수 있습니다.

Q: 등호가 포함된 대소 관계는 왜 중복조합인가요?
A: f(x1)이 f(x2)보다 작거나 같으면 같은 값을 고르는 것이 허용되기 때문입니다. 같은 값을 골라도 조건을 만족하므로 중복을 허용하는 중복조합 nHr을 사용합니다.

Q: f(1)이 1이 아닌 부정 조건은 어떻게 푸는 것이 빠른가요?
A: 직접 세는 대신 전체 경우의 수에서 f(1)이 1일 때의 경우의 수를 빼는 여사건을 사용하면 빠릅니다. 조건이 두 개 이상이면 합집합과 교집합을 이용해 중복을 제거해야 합니다.

댓글 남기기