gRPC 빌드 정리 (CMake + Visual Studio 2022)
gRPC 빌드 정리 (CMake + Visual Studio 2022) 이 포스트에서는 Windows에서 CMake GUI + Visual Studio 2022의 조합으로 gRPC(v1.16.0)를 빌드하는 법을 정리한다. 우선 gRPC 공식 빌드 가이드를 따라 필요한 구성 요소들을 설치해야 한다. 해당 문서에는 명시되어 있지 않지만, Perl도 추...
gRPC 빌드 정리 (CMake + Visual Studio 2022) 이 포스트에서는 Windows에서 CMake GUI + Visual Studio 2022의 조합으로 gRPC(v1.16.0)를 빌드하는 법을 정리한다. 우선 gRPC 공식 빌드 가이드를 따라 필요한 구성 요소들을 설치해야 한다. 해당 문서에는 명시되어 있지 않지만, Perl도 추...
백준 11414번: LCM 문제 원문 풀이 문서 작성의 편의를 위해 $A \leq B$라 가정한다. 이 문제의 핵심은 관찰을 통해 $gcd(A+n, B+n) \ | \ B-A$임을 발견하는 것이다. 이는 즉, $A$와 $B$가 $B-A$의 약수의 배수가 되도록 $N$을 정한 뒤, $lcm(A+N, B+N)$이 최소가 될 때의 $N$을 구하면 문제...
백준 30390번: 우주왕자 사교파티 문제 원문 풀이 파티에 초대할 사람의 수를 $P$로 두고, $a = \frac{A-k}{P}$, $b = \frac{B+k}{P}$라고 하자. $k$는 $k \in [0, K] \cap \mathbb{Z}$을 만족하는 임의의 정수이다. [\displaylines{ A+B &= P \bullet...
백준 29793번: 라라와 용맥 변환 문제 원문 풀이 DP+브루트 포스로 문제를 해결할 것이다. DP 테이블을 $N \times 3 \times 3 \times 3$의 형태로 구성한다. DP 테이블에 저장할 값은 위치 $x$에서 모든 몬스터를 처치하기 위해 필요한 용맥 변환의 최소 횟수이다. $dp[x][a][b][c] \space (a, b, ...
백준 2305번: 자리 배치 문제 원문 풀이 메모이제이션을 사용해 문제를 해결할 것이다. 자리를 배치할 때의 고유한 상태는 빈 자리의 위치를 $e$, 아직 자리를 배치하지 않은 범위를 $[beg, end)$로 표현할 때, 튜플 $(e, beg, end)$로 표현할 수 있다. 그러므로 DP 테이블을 $N \times N \times N$ 크기의 3...
백준 2066번: 카드놀이 문제 원문 풀이 $5 \times 5 \times 5 \times 5 \times 5 \times 5 \times 5 \times 5 \times 5$ 크기의 9차원 $dp$ 배열을 생성한다. 각 컬럼 인덱스는 짝지어 사라진 카드의 수를 나타낸다. 배열에 저장되는 값은 해당 상황에 도달 할 수 있는 확률을 나타낸다. 이...
백준 2092번: 집합의 개수 문제 원문 풀이 문제를 풀면서 이전에 풀었던 서로소의 개수 문제와 비슷하다는 느낌을 받았다. 실제로 핵심 아이디어는 똑같은 것 같다. 이미 존재하는 집합 중 크기가 $i$인 집합의 개수를 $dp[i]$라고 한다면, 조건을 만족하는 수 $n$을 추가해서 만들 수 있는 크기가 $i+1$인 새로운 집합의 개수는 $dp[...
백준 1470번: 올림픽 게임 문제 원문 풀이 DP 테이블을 $N \times N \times L$로 구성한다. $0 \leq k, \space rank \lt N$, $0 \leq m_s \leq L$인 0 또는 양의 정수인 $k, \space rank, \space m_s$에 대하여, $dp[k][rank][m_s]$ 는 1번 팀부터 $k+...
백준 2287번: 모노디지털 표현 문제 원문 풀이 $K$를 한 번 쓰는 경우부터 8번 사용하는 경우까지 순차적으로 DP 테이블을 채워나간다. DP 테이블의 각 컬럼을 집합으로 두어 $K$를 $i$번 ($i$는 $1 \leq i \leq 8$을 만족하는 양의 정수) 사용하여 만들 수 있는 모든 수를 저장한다. $K$를 $i$번 사용하여 생성되는 새...
백준 2259번: 두더지 잡기 풀이 $T=0$인 시점에 $(0, 0)$에 위치하는 가상의 두더지를 추가하고 풀이하면 편하다. 우선 길이가 $N+1$인 DP 테이블을 구성한다. $dp[i]$는 $i$번째 두더지를 마지막으로 잡는 경우 최대로 잡을 수 있는 두더지의 마릿수를 의미한다. 갱신되지 않은 값은 $-1$로 지정하고 $dp[0]$은 0으로 설...