/
https://42jerrykim.github.io/ _index.md
빙하기가 된 지구를 누비는 1001칸 열차 설국열차에서 꼬리칸 반란군 레이턴이 살인 사건 수사를 빌미로 혁명을 준비하고, 멜라니의 비밀이 드러나며 빅 앨리스가 등장하는 TNT 디스토피아 스릴러. 시즌 1의 계급 갈등·반전·캐릭터를 스포일러 포함해 정리한 리뷰. 피보나치 수 F_N, F_M의 최대공약수를 1000000007로 나눈 나머지를 구하는 문제. gcd(F_n,F_m)=F_gcd(n,m) 성질을 이용해 gcd(N,M)=g에 대해 F_g를 행렬 거듭제곱으로 O(log g)에 구한다. 정수 A를 B로 바꾸는 최소 연산 횟수를 구한다. 연산은 ×2, ÷2(짝수일 때), +1만 가능하다. 최적해는 나눗셈만 → 덧셈만 → 곱셈만 순서임을 이용해 O(log² max(A,B))에 해결한다. USACO 2022 Silver 공식 해설의 관찰을 적용한 C++/Python 정답 코드를 담았다. 평면 위 n개 정사각형에서 각각 한 점씩 골라 직경(최대 쌍 거리)을 최대화하고 D²을 출력한다. 최대 거리는 항상 두 꼭짓점 쌍에서 성립하므로, 4n개 꼭짓점의 볼록 껍질과 회전하는 캘리퍼스·삼분 탐색으로 O(n log n)에 해결한다. 가상 함수, RTTI, 예외 처리의 정량적 비용을 마이크로벤치마크로 측정하고, devirtualization 등으로 비용을 줄이는 방법을 다룹니다. Low-latency C++ 트랙의 핵심 진입 챕터이며, 평가 기준·판단 기준·비판적 시각과 다음 장 링크를 제공합니다. vector, map, unordered_map 등 STL 컨테이너의 비용 모델과 캐시 효율성을 정리합니다. 컨테이너 선택에 따른 메모리 레이아웃·접근 패턴 차이와 마이크로벤치마크로 측정하는 방법을 다루며, 연속 레이아웃과 노드 기반 구조의 트레이드오프를 제시합니다. std::string의 SSO(Small String Optimization), string_view 활용, 문자열 처리 시 불필요한 할당·복사를 줄이는 기법을 다룹니다. 파싱·포맷팅 등 핫패스에서의 문자열 비용을 정량적으로 다루며, API 경계와 내부 버퍼 관리 기준을 정리합니다. Copy Elision, RVO/NRVO, 이동 의미론을 심화하여 객체 수명·복사/이동 비용을 제어하는 방법을 다룹니다. 반환값 최적화와 move semantics가 성능에 미치는 영향을 마이크로벤치마크로 검증하고, 언제 이동을 쓸지·회피할지 판단 기준을 제시합니다. 임시 객체 생성이 발생하는 패턴을 진단하고, 연산자 오버로딩·암시적 변환·연속 연산 등에서 임시를 제거하는 패턴을 다룹니다. 컴파일러 출력과 프로파일링으로 임시 비용을 확인하는 방법을 정리하며, 실무 적용 시 주의점과 대안을 제시합니다. constexpr, consteval을 활용한 컴파일 타임 계산과 템플릿 기반 비용 제어 전략을 다룹니다. 런타임 오버헤드를 컴파일 타임으로 옮기고 인라이닝을 유도하는 패턴을 정리하며, 컴파일 시간·ABI 트레이드오프와 적용 기준을 제시합니다.