생활계산기

경우의 수 계산기 — 순열·조합·중복순열

수정2026-08-14
근거nPr = n!/(n−r)! · nCr = n!/(r!(n−r)!)
작성운영자

직접 확인 · 2026-08 순서를 따지는 경우와 아닌 경우의 값 차이를 사례별로 대조

계산 값을 바꾸면 결과가 바로 바뀝니다
경우의 수 -가지
1가지가 나올 확률 -
다른 유형 비교 -
n! (팩토리얼) -

n이 커지면 값이 매우 커져 지수 표기로 바뀝니다.

"몇 가지 경우가 있는가"는 순서를 따지는지 아닌지에 따라 답이 완전히 달라집니다. 이 구분이 경우의 수 계산의 전부라고 해도 지나치지 않습니다.

결론부터

  • 순열은 순서를 구분합니다. (A, B)와 (B, A)가 다릅니다
  • 조합은 순서를 구분하지 않습니다. 같은 것으로 봅니다
  • 조합 = 순열 ÷ r!

네 가지 유형

유형 기호 순서 중복
순열 nPr 구분함 안 됨
조합 nCr 구분 안 함 안 됨
중복순열 구분함
중복조합 nHr 구분 안 함

계산식

nPr = n × (n−1) × … × (n−r+1) = n! ÷ (n−r)!
nCr = nPr ÷ r! = n! ÷ (r! × (n−r)!)
중복순열 = n^r
중복조합 nHr = (n+r−1)Cr

순열과 조합의 차이

5명 중 3명을 뽑는 경우를 봅니다.

회장·부회장·총무를 뽑는다면 순열입니다. 누가 어느 자리인지가 다르므로 5P3 = 60가지입니다.

대표 3명을 뽑는다면 조합입니다. 자리 구분이 없으므로 5C3 = 10가지입니다.

60 ÷ 3! = 60 ÷ 6 = 10입니다. 같은 3명을 순서만 바꾼 6가지를 하나로 묶은 결과입니다.

중복이 되는 경우

비밀번호 4자리를 숫자로 만든다면 같은 숫자를 여러 번 써도 되고 순서도 구분됩니다. 10⁴ = 10,000가지입니다.

아이스크림 3가지 맛을 5종류 중에서 고른다면 같은 맛을 두 번 고를 수 있고 순서는 상관없습니다. 5H3 = 7C3 = 35가지입니다.

확률로 이어집니다

경우의 수를 알면 확률이 나옵니다.

확률 = 원하는 경우의 수 ÷ 전체 경우의 수

45개 중 6개를 고르는 경우는 45C6 = 8,145,060가지입니다. 그중 하나가 맞을 확률은 814만 분의 1입니다.

로또 1등 확률로 잘 알려진 숫자입니다. 매주 한 장씩 사면 평균 8,145,060주, 약 15만 6천 년이 걸립니다.

직접 확인해 본 것

사례별로 계산해 봤습니다.

조합은 r이 절반일 때 최대입니다. 10C1 = 10, 10C5 = 252, 10C9 = 10입니다. 가운데가 가장 크고 양끝으로 갈수록 작아집니다.

nCr = nC(n−r) 입니다. 10개 중 3개를 고르는 것과 7개를 남기는 것은 같은 일입니다.

팩토리얼은 급격히 커집니다. 10! = 362만, 20! = 2.4경, 70!은 이미 10의 100제곱을 넘습니다. 그래서 큰 수의 조합은 팩토리얼을 직접 계산하지 않고 곱셈과 나눗셈을 번갈아 하는 방식으로 구합니다.

생활 속 문제

좌석 배치 — 5명이 일렬로 앉는 방법은 5! = 120가지입니다.

메뉴 조합 — 반찬 8종 중 3종을 고르는 방법은 8C3 = 56가지입니다.

팀 나누기 — 10명을 5명씩 두 팀으로 나누는 방법은 10C5 ÷ 2 = 126가지입니다. 두 팀에 구분이 없으면 2로 나눠야 합니다.

악수 — 10명이 서로 한 번씩 악수하면 10C2 = 45번입니다.

비밀번호 강도 — 4자리 숫자는 1만 가지지만, 영문 소문자와 숫자를 섞은 8자리는 36⁸ = 약 2조 8천억 가지입니다.

확률에서 자주 하는 착각

독립 시행의 곱 — 동전을 두 번 던져 모두 앞면일 확률은 1/2 × 1/2 = 1/4입니다. 1/2가 아닙니다.

여사건이 편할 때가 많습니다. "적어도 하나"를 구할 때는 "하나도 없을 확률"을 구해 1에서 빼는 편이 빠릅니다. 주사위를 3번 던져 적어도 한 번 6이 나올 확률은 1 − (5/6)³ = 약 42.1%입니다.

과거는 미래에 영향을 주지 않습니다. 동전이 앞면으로 다섯 번 나왔다고 다음이 뒷면일 확률이 높아지지 않습니다. 각 시행이 독립이면 확률은 계속 1/2입니다.

생일 문제

23명이 모이면 같은 생일인 사람이 있을 확률이 50%를 넘습니다. 직관보다 훨씬 작은 인원입니다.

"나와 같은 생일"이 아니라 "누구든 서로 같은 생일"이기 때문입니다. 23명에서 짝을 짓는 경우는 23C2 = 253가지나 됩니다.

비교 대상이 몇 쌍인지를 세면 직관과 계산의 차이가 설명됩니다.

문제를 읽고 유형을 정하는 법

경우의 수 문제는 계산보다 유형을 고르는 데서 갈립니다. 두 가지만 확인하면 됩니다.

순서를 바꾸면 다른 경우인가? "1등, 2등, 3등"처럼 자리가 구분되면 순열입니다. "대표 3명"처럼 구분이 없으면 조합입니다.

같은 것을 여러 번 골라도 되는가? 비밀번호처럼 같은 숫자를 반복할 수 있으면 중복이 허용됩니다. 사람을 뽑는 경우처럼 한 번 뽑으면 끝이면 중복이 없습니다.

이 두 질문의 답 조합이 네 가지 유형과 그대로 대응합니다.

헷갈리는 표현들도 있습니다. "일렬로 세우는 방법"은 순열, "짝을 짓는 방법"은 조합, "주머니에서 꺼내 다시 넣는 경우"는 중복이 허용되는 경우입니다.

큰 수를 다루는 방법

조합을 계산할 때 팩토리얼을 그대로 쓰면 금방 한계에 부딪힙니다.

45C6을 45! ÷ (6! × 39!) 로 계산하려면 45!이 10의 56제곱이 넘는 값이 됩니다. 컴퓨터에서도 정확도가 무너집니다.

곱셈과 나눗셈을 번갈아 하면 값이 크게 커지지 않습니다.

45 × 44 ÷ 2 × 43 ÷ 3 × 42 ÷ 4 …

이런 식으로 진행하면 중간 값이 최종 결과 근처에서 머뭅니다. 이 계산기도 같은 방식을 씁니다.

또 하나의 요령은 r과 n−r 중 작은 쪽을 쓰는 것입니다. 45C39는 45C6과 같으므로, 6번만 반복하면 됩니다.

파스칼의 삼각형

조합의 값을 삼각형으로 배열한 것입니다.

        1
      1   1
    1   2   1
  1   3   3   1
1   4   6   4   1

n번째 줄의 r번째 값이 nCr입니다. 바로 위의 두 수를 더하면 아래 값이 나옵니다.

이 성질이 nCr = (n−1)C(r−1) + (n−1)Cr 이라는 관계입니다. "특정 하나를 뽑는 경우"와 "안 뽑는 경우"로 나눠 세는 것과 같습니다.

각 줄의 합은 2ⁿ입니다. n개에서 아무거나 고르는 모든 경우의 수와 일치합니다.

계산기 사용법

n에 전체 개수, r에 고르는 개수를 넣고 유형을 고르면 됩니다.

"다른 유형 비교" 칸에는 같은 n, r로 계산한 조합과 순열 값이 함께 표시됩니다. 어느 쪽을 써야 할지 헷갈릴 때 두 값을 나란히 보면 판단이 쉬워집니다.

"1가지가 나올 확률" 은 모든 경우가 동등하게 나온다고 가정한 값입니다. 추첨이나 무작위 선택에는 맞지만, 경우마다 가능성이 다른 상황에는 그대로 적용되지 않습니다.

팩토리얼 값도 함께 나옵니다. n이 20을 넘어가면 자릿수가 급격히 늘어나 지수 표기로 바뀌는 것을 볼 수 있습니다.

자주 묻는 질문

Q. 0! 은 얼마인가요? A. 1입니다. 정의상 그렇게 정합니다. nCn = 1이 되려면 0!이 1이어야 합니다.

Q. r이 n보다 크면요? A. 순열과 조합은 0입니다. 뽑을 수 없기 때문입니다. 중복이 허용되는 유형은 계산됩니다.

Q. 값이 지수로 표시됩니다. A. 자릿수가 너무 커져 정확히 표시할 수 없을 때 지수 표기로 바뀝니다.

함께 보면 좋은 계산

비율 계산은 퍼센트 계산기를 쓰세요.

평균과 분산은 평균·표준편차 계산기에서 다룹니다.

약수와 배수는 최대공약수·최소공배수 계산기에서 확인하세요.

정리

  • 순서를 구분하면 순열, 아니면 조합입니다
  • 조합 = 순열 ÷ r!
  • "적어도 하나"는 여사건으로 푸는 편이 빠릅니다

순서를 따지는지, 중복이 되는지 두 가지만 정하면 나머지는 계산기가 처리합니다.

2026년 8월 기준으로 작성했습니다.

이 계산기를 내 블로그에 퍼가기 (무료)

아래 코드를 붙여 넣으면 그대로 동작합니다. 출처 링크만 남겨 주세요.

이 계산기가 도움이 되었나요?

#경우의수#순열#조합

댓글

계산이 안 맞거나 빠진 조건이 있으면 남겨 주세요. 확인 후 반영합니다. (등록 후 검토를 거쳐 공개됩니다)

댓글 기능은 준비 중입니다. 설정 파일의 comments.app_id를 채우면 이 자리에 열립니다.