CHUCK CHUCK 박사

잼잼 개발자

[Algorithm] Sets - Longest common subsequence problem

집합 최장 공통 부분수열

최장 공통 부분 수열 문제(Longest Common Subsequence Problem)? 최장 공통 부분 수열 (LCS) 문제는 두 개의 수열에서 같은 순서로 나타나는 가장 긴 부분 수열을 찾는 문제입니다. 여기서 부분 수열은 다른 수열에서 일부 또는 아무 요소도 삭제하여 나머지 요소의 순서를 변경하지 않고 얻은 수열입니다. ...

[Algorithm] Sets - Combinations

집합 조합

조합(Combinations)? 조합은 더 큰 집합에서 항목을 선택할 때 선택의 순서가 중요하지 않은 경우를 말합니다. $ n $개의 항목 중 $ r $개의 항목을 선택할 때 가능한 조합의 수는 $ C(n, r) $로 표시되며, 다음과 같은 공식을 사용하여 계산됩니다: $ C(n, r) = \frac{n!}{r!(n - r)!} ...

[Algorithm] Sets - Permutations

집합 순열

순열(Permutations)? 순열은 순서가 중요한 원소의 다양한 배열을 말합니다. $ n $개의 원소로 이루어진 집합이 주어질 때, 가능한 순열의 수는 $ n! $ (n 팩토리얼)로 표현되며, 이는 1부터 $ n $까지의 모든 양의 정수의 곱을 나타냅니다. 예를 들어, 집합 $ S = {1, 2, 3} $의 순열은 다음과 같습...

[Algorithm] Sets - Power Set

집합 멱집합

멱집합(Power Set)이란? 멱집합은 주어진 집합 $ S $의 모든 부분 집합으로 구성된 집합입니다. 여기에는 공집합과 집합 $ S $ 자체도 포함됩니다. 만약 집합 $ S $가 $ n $개의 원소를 가지고 있다면, $ S $의 멱집합은 $ 2^n $개의 부분 집합을 가집니다. 이는 각 원소가 부분 집합에 포함되거나 제외될 수 ...

[Algorithm] Sets - Fisher–Yates shuffle

집합 Fisher–Yates 셔플

Fisher–Yates 셔플? Fisher–Yates 셔플(또는 Knuth 셔플)은 유한한 배열이나 리스트의 무작위 순열을 생성하는 알고리즘입니다. 이 알고리즘은 리스트를 역순으로 반복하며 각 요소를 자신 또는 앞에 있는 임의의 요소와 교환하는 방식으로 작동합니다. 이 알고리즘은 편향되지 않은 무작위 셔플을 보장하는데, 이는 배열...

[Algorithm] Sets - Cartesian Product

집합 카테시안 곱

카테시안 곱? 카테시안 곱은 두 집합 $ A $와 $ B $의 곱으로, 각각의 집합에서 선택한 원소를 조합하여 만든 모든 순서쌍으로 구성된 집합입니다. 이를 수식으로 나타내면 $ A \times B $로 표기하며, 결과는 각 집합 $ A $의 원소 $ a $와 집합 $ B $의 원소 $ b $로 구성된 순서쌍 $ (a, b) $들로...

[Algorithm] Math - Liu Hui's π Algorithm

수학 리우 후이 π 알고리즘

Liu Hui의 π 알고리즘이란? Liu Hui의 π 알고리즘은 기원후 263년경 중국 수학자 Liu Hui가 개발한 π(파이)의 값을 계산하는 고대 알고리즘입니다. 이 방법은 아르키메데스가 제안한 내접 다각형 방법에 기초하고 있으며, Liu Hui는 이를 개선하고 확장했습니다. 이 알고리즘의 핵심 아이디어는 점점 더 많은 변을 ...

[Algorithm] Math - Integer Partition

수학 자연수 분할

Integer Partition? 자연수 분할이란, 양의 자연수를 더 작은 자연수들의 합으로 나누는 것을 의미합니다. 이때 각 합이 되는 숫자들의 순서는 상관없으며, 구성되는 숫자의 개수와 조합이 중요합니다. 예를 들어: 4의 자연수 분할은: 4, 3 + 1, 2 + 2, 2 + 1 + 1, 1 + 1 + 1 + 1 와 같...

[Algorithm] Math - Pascal's Triangle

수학 파스칼 삼각형

파스칼의 삼각형이란? 파스칼의 삼각형은 위에 있는 두 숫자의 합으로 배열된 삼각형 구조입니다. 파스칼의 삼각형은 다음과 같은 모습으로 시작합니다: 1 2 3 4 5 6 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 이 삼각형의 각 숫자는 이항 계수...

[Algorithm] Math - Is a power of two

수학 2의 거듭제곱 판별법

2의 거듭제곱이란? 2의 거듭제곱이란 $2^n$으로 표현될 수 있는 숫자를 말하며, 여기서 $n$은 0 이상의 정수입니다. 예를 들어: $2^0 = 1$ $2^1 = 2$ $2^2 = 4$ $2^3 = 8$ $2^4 = 16$, 등등. 이진수로 표현했을 때, 2의 거듭제곱은 오직 하나의 비트만이 1로 설정되...