본문 바로가기
카테고리 없음

PERMUT: 순열 계산, 줄 세우기 경우의 수 구하기

by story00-1 2026. 1. 29.

우리가 살아가는 세상은 수많은 선택의 연속이며, 때로는 그 선택의 '순서'가 결과의 성패를 좌우하는 결정적인 요인이 되기도 합니다. 학창 시절 수학 시간에 배웠던 '경우의 수'는 단순히 시험 문제를 풀기 위한 이론이 아니라, 비즈니스 전략 수립부터 보안 시스템의 암호 체계 설계에 이르기까지 현대 사회의 복잡한 문제를 해결하는 핵심 열쇠입니다. 엑셀의 PERMUT 함수는 순서가 중요한 데이터의 나열, 즉 '순열(Permutation)'의 가짓수를 단 0.1초 만에 정확하게 산출해 내는 강력한 도구로서, 막연한 추측을 명확한 수치로 변환해 줍니다. 본 글에서는 순열의 수학적 정의부터 PERMUT 함수를 활용한 비밀번호 조합 계산, 그리고 조직 내 역할 분담 시나리오 분석까지 심도 있게 다루어 여러분의 논리적 사고력을 한 차원 높여드리겠습니다.

PERMUT: 순열 계산, 줄 세우기 경우의 수 구하기
PERMUT: 순열 계산, 줄 세우기 경우의 수 구하기

1. 순서의 미학, PERMUT 함수로 줄 세우기의 법칙 정복하기

데이터 분석의 세계에서 '순서(Order)'가 가지는 의미는 실로 막대하며, 이를 간과할 경우 완전히 다른 해석을 내놓는 치명적인 오류를 범할 수 있습니다.

앞서 다루었던 '조합(Combination)'이 순서와 상관없이 구성원을 뽑는 것에 집중했다면, 순열(Permutation)은 '누가 첫 번째이고, 누가 두 번째인가?'라는 순서의 차이를 엄격하게 구분하는 개념입니다.

예를 들어, A, B, C 세 사람 중 두 명을 뽑아 줄을 세운다고 할 때, 조합의 관점에서는 'A와 B'를 뽑으나 'B와 A'를 뽑으나 같은 한 가지 경우로 취급하지만, 순열의 관점에서는 'A가 앞, B가 뒤'인 경우와 'B가 앞, A가 뒤'인 경우를 전혀 다른 두 가지 사건으로 분리하여 계산합니다.

엑셀의 PERMUT 함수는 이러한 순열의 원리를 완벽하게 구현한 함수로서, 전체 모집단의 수와 선택할 개수만 입력하면 순서를 고려하여 나열할 수 있는 모든 경우의 수를 즉각적으로 반환합니다.

이 함수의 문법은 =PERMUT(number, number_chosen)으로 구성되어 있으며, 첫 번째 인수에는 전체 항목의 개수(n)를, 두 번째 인수에는 선택하여 나열할 항목의 개수(r)를 입력하면 됩니다.

수학적으로는 $_nP_r$로 표기하며, $n! / (n-r)!$이라는 복잡한 팩토리얼 공식을 내포하고 있지만, 사용자는 이러한 수식을 직접 계산할 필요 없이 PERMUT 함수 하나만으로 수천, 수만 가지의 가능성을 손쉽게 파악할 수 있습니다.

PERMUT 함수의 가장 큰 특징은 선택된 항목의 개수가 늘어날수록 경우의 수가 기하급수적으로 폭증한다는 점입니다.

단순히 10명 중 3명을 뽑는 조합(COMBIN)은 120가지에 불과하지만, 10명 중 3명을 뽑아 순서대로 나열하는 순열(PERMUT)은 무려 720가지에 달합니다.

이는 데이터의 '다양성'과 '복잡성'이 순서라는 요소 하나로 인해 얼마나 극적으로 변화하는지를 보여주는 단적인 예시입니다.

따라서 물류 센터에서 배송 경로의 우선순위를 정하거나, 공정 스케줄링을 최적화하는 등 순서가 효율성에 직결되는 업무를 수행하는 실무자에게 PERMUT 함수는 선택이 아닌 필수적인 분석 도구라 할 수 있습니다.

결국 PERMUT 함수를 활용한다는 것은, 무질서하게 흩어진 데이터들에 '질서'를 부여하고, 발생 가능한 모든 시나리오를 빠짐없이 검토하여 최적의 설루션을 찾아내는 논리적인 여정의 시작입니다.



2. 철통 보안의 비밀, 비밀번호 조합과 PERMUT의 위력

순열의 개념이 가장 적나라하게 적용되는 현실적인 사례는 바로 우리가 매일 사용하는 '비밀번호(Password)''잠금 패턴'의 보안성을 검증하는 과정입니다.

비밀번호는 입력하는 숫자의 종류뿐만 아니라 그 입력 순서가 틀리면 잠금이 해제되지 않으므로, 이는 전형적인 순열의 법칙을 따릅니다.

예를 들어, 0부터 9까지의 서로 다른 숫자 10개 중에서 4개를 골라 4자리 비밀번호(핀 번호)를 만든다고 가정해 봅시다. (단, 중복된 숫자는 사용하지 않는다고 가정)

이때 가능한 비밀번호의 총개수는 엑셀 수식 =PERMUT(10, 4)를 통해 계산할 수 있으며, 그 결과는 5,040가지가 됩니다.

"생각보다 적네?"라고 느낄 수 있지만, 만약 자릿수를 6자리로 늘린다면 =PERMUT(10, 6)의 결과는 151,200가지로 순식간에 30배 이상 폭증하게 됩니다.

이처럼 PERMUT 함수는 보안 시스템 설계자가 해커의 무차별 대입 공격(Brute Force Attack)에 대비하여 얼마나 복잡한 암호 체계를 구축해야 하는지 판단하는 정량적인 근거를 제시합니다.

또한, 스마트폰의 잠금 패턴을 분석할 때도 PERMUT 함수는 유용하게 활용됩니다.

9개의 점 중에서 서로 다른 5개의 점을 이어 패턴을 만든다면, 순서가 중요하므로 =PERMUT(9, 5)15,120가지의 패턴이 생성될 수 있음을 알 수 있습니다.

이러한 계산 결과는 사용자에게 "단순한 패턴이나 짧은 비밀번호가 얼마나 취약한지"를 경고하는 교육 자료로 활용되거나, 기업 내부의 보안 정책을 수립할 때 "최소 8자리 이상의 비밀번호를 사용해야 한다"는 규정의 타당성을 뒷받침하는 강력한 데이터가 됩니다.

물론 실제 비밀번호는 숫자의 중복을 허용하므로 PERMUTATIONA(중복순열) 함수를 사용하거나 $n^r$ 공식을 써야 더 정확하지만, '서로 다른 문자'를 조합해야 하는 특수 상황이나 보안 키 생성 시나리오에서는 PERMUT 함수가 여전히 핵심적인 역할을 수행합니다.

이처럼 PERMUT 함수는 눈에 보이지 않는 디지털 보안의 벽을 숫자로 시각화하여, 우리가 얼마나 안전한(혹은 위험한) 환경에 있는지를 객관적으로 인지하게 해주는 보안 컨설턴트와 같습니다.



3. 조직 관리의 정석, 직책 부여와 이어달리기 주자 선정

비즈니스 환경에서의 조직 관리나 행사 기획 단계에서도 순열의 원리는 매우 빈번하게 적용되며, PERMUT 함수를 통해 합리적인 의사결정을 내릴 수 있습니다.

가장 대표적인 예시는 '직책(Role)이 있는 임원 선출' 시나리오입니다.

만약 10명의 후보자 중에서 단순히 대표 2명을 뽑는다면 COMBIN 함수를 쓰면 되지만, '회장 1명'과 '부회장 1명'을 뽑아야 한다면 이야기는 완전히 달라집니다.

A가 회장이 되고 B가 부회장이 되는 경우와, B가 회장이 되고 A가 부회장이 되는 경우는 조직의 운영 방향이 완전히 달라질 수 있는 별개의 사건이기 때문입니다.

이때 =PERMUT(10, 2)를 계산하면 90가지의 시나리오가 도출되며, 인사 담당자는 이 수치를 바탕으로 얼마나 신중하게 후보를 검증해야 할지, 투표 방식은 어떻게 설계해야 할지 가늠할 수 있습니다.

이는 프로젝트 R&R(Role and Responsibilities)을 배분할 때, 누가 PM(Project Manager)을 맡고 누가 PL(Project Leader)을 맡을지 결정하는 과정에서도 동일하게 적용됩니다.

또 다른 흥미로운 예시는 체육대회의 꽃인 '이어달리기(Relay) 주자 선정'입니다.

팀원 4명이 이어달리기에 출전하는데, 누가 1번 주자로 나가 기선을 제압하고, 누가 4번 주자로 나가 역전을 노릴지 결정하는 것은 승패를 가르는 중요한 전략입니다.

이미 선발된 4명의 선수를 1번부터 4번까지 순서대로 배치하는 경우의 수는 4명 중 4명을 순서대로 나열하는 것이므로 =PERMUT(4, 4), 즉 24가지의 전략이 존재합니다.

만약 후보 선수가 6명이고 그중 4명을 뽑아 순서까지 정해야 한다면 =PERMUT(6, 4)360가지의 방대한 전략 시트가 만들어집니다.

감독은 이 360가지의 경우의 수 중에서 선수들의 컨디션과 상대 팀의 전략을 고려하여 최상의 '순서'를 선택해야 합니다.

이처럼 PERMUT 함수는 막연하게 "잘하는 사람 내보내자"는 식의 주먹구구식 운영이 아니라, 가능한 모든 전략적 옵션을 책상 위에 펼쳐놓고 분석할 수 있게 해주는 치밀한 전략가의 도구입니다.

순서가 바뀌면 결과가 바뀐다는 단순한 진리를 엑셀을 통해 수치화함으로써, 여러분은 조직의 리소스를 가장 효율적인 순서로 배치하는 최적화의 달인이 될 수 있습니다.


마무리하며

오늘은 순서가 중요한 데이터의 배열, 즉 순열의 경우의 수를 계산해 주는 PERMUT 함수를 활용하여 비밀번호의 보안성을 검증하고 조직 내 역할 분담 시나리오를 분석하는 방법에 대해 심도 있게 알아보았습니다.

핵심 요약:

  • PERMUT 함수(nPr)는 순서를 고려하여 서로 다른 n개 중 r개를 선택하여 나열하는 경우의 수를 계산합니다.
  • 비밀번호나 잠금 패턴처럼 순서가 틀리면 안 되는 보안 체계의 복잡도를 계산할 때 필수적입니다.
  • 회장/부회장 선출이나 이어달리기 주자 배치 등 역할과 순서가 구분되는 실무 상황에서 전략적 의사결정을 지원합니다.

이제 여러분은 단순히 데이터를 모으는 것을 넘어, 그 데이터들을 어떤 '순서'로 배치했을 때 가장 큰 효과를 낼 수 있을지 고민하고 계산할 수 있는 통찰력을 갖추게 되었습니다. 오늘 배운 PERMUT 함수를 통해 여러분의 업무 프로세스에 논리적인 질서를 부여해 보시기 바랍니다.

다음 포스팅에서는 순열과 조합의 개념을 넘어, 숫자의 정수 부분만 취하여 절사(버림)하는 INT 함수와 TRUNC 함수의 미묘한 차이점에 대해 상세히 다뤄보겠습니다. 도움이 되셨다면 공감과 댓글 부탁드립니다!