Loading [MathJax]/jax/output/CommonHTML/jax.js
본문 바로가기

코딩테스트3

분배법칙(Distributive Property) 알고리즘 문제를 풀다가 분배법칙에 관한 수학적인 문제가 나와 기억하기 위해 작성한다.분배법칙(Distributive Property)집합 S와 S에 대해 닫혀있는 두 이항 연산 *, +가 정의되어 있을 때, S의 임의의 원소 a, b, c에 대해a(b+c)=(ab)+(ac) 가 성립하면 (+에 대한 *의) 좌분배법칙이,(b+c)a=(ba)+(ca) 가 성립하면 (+에 대한 *의) 우분배법칙이 성립한다고 하며,위 두 가지가 모두 성립할 경우 집합 S에서 연산 *은 연산 +에 대해 분배법칙(+에 대한 *의 (양쪽) 분배법칙)이 성립한다고 한다. 두 항을 곱할 때 각 항들을 나누어 곱한 후 더하는 방식이다.즉, "(3 + 2) x 4"가 있.. 2025. 2. 19.
지수법칙 & 모듈러 연산 알고리즘 문제를 풀다가 지수법칙과 모듈러 연산에 관한 수학적인 문제가 나와 기억하기 위해 작성한다.지수법칙(거듭제곱의 곱)지수법칙은 다음과 같다.xnxm=xn+m ex) x8 지수가  짝수일 때 즉, x8=x4+4= x4x4= (x2x2)(x2x2)= ((x1x1)(x1x1))((x1x1)(x1x1)) ex) x9 지수가  홀수일 때 즉, x9=x4+4x= x4x4x= (x2x2)(x2x2)x= $((x^1 * x^1) * (x^1 * x^1)) * ((x^1 * x^1) * (x.. 2025. 2. 13.
누적합(Prefix Sum) 누적합(Prefix Sum)누적합은 요소들의 누적된 합의 의미를 얘기합니다.배열의 첫 번째 0번째 배열의 요소부터 누적시키면서 더한 배열을 활용합니다. 일부 구간에 대한 합을 구하는 문제에서 사용이 됩니다. 단, 배열의 값들이 변하지 않는다는 전제가 필요합니다. N=5 인 N 크기의 정수 배열 arr이 있을 때 여러 개의 구간 [a, b]에 대해 합을 구하려고 합니다. 1abNarr[a]+arr[a+1]++arr[b]Index i01234arr[i]16425 간단하게 생각할 수 있는 방법은 반복문을 돌려서 각 요소를 더하는 것입니다. 이 방법은 각 쿼리에 대해 최대 O(N) 시간 복잡도를 가지고, 만약 M개의 쿼리가 주어지면 시간 .. 2025. 1. 19.