C++ 언어 이용해서 조합 (Combination) 구현하기


C++ 언어 이용해서 조합 (Combination) 구현하기

이번에는 C++ 언어를 이용해서 조합(Combination)을 계산하는 코드를 구현하는 방법에 대해서 간단하게 정리해 보도록 하겠습니다. 우선 조합은 파스칼의 삼각형 공식에 따라 아래와 같은 수학적 특성을 갖습니다. 수학적 증명은 기억이 나지 않지만, 제가 아는 대로 이 수식을 개념적으로 설명하자면, n개 중에서 순서에 상관없이 r 개를 뽑는 경우의 수 = 1개를 뽑은 후 n-1개 중에서 r-1개를 뽑는 경우의 수 + 1개를 빼놓고 n-1개 중에서 r 개를 뽑는 경우의 수 와 같이 저는 이해했었습니다! ⇒ n-1개 중에서 r-1개를 뽑는 경우의 수 : ⇒ n-1개 중에서 r개를 뽑는 경우의 수: 그림으로 간단히 나타내면 위와 같이 파스칼의 삼각형 상에서 계수 값이 계산됨을 의미합니다. 이렇게 하나의 문제를 더 작은 문제로 나눌 수 있게 되는 것이죠! 이런 경우 dynamic programming 혹은 재귀적으로 문제를 해결할 수 있을 것입니다. 저는 우선 위 특성을 직관적으로 반영해...


#1010번 #BOJ #combination #cpp #백준 #수학 #조합

원문링크 : C++ 언어 이용해서 조합 (Combination) 구현하기