Hugo 사이트를 GitHub Actions로 배포할 때 매번 수행되는 WebP 이미지 변환이 빌드 시간을 늘립니다. actions/cache로 resources와 HUGO_CACHEDIR을 저장·복원해 변경분만 처리하도록 개선한 방법과 캐시 키 전략, deploy.yml 수정 요점, repo에 캐시를 커밋하는 대안을 정리합니다.
백준 12932번 노래방 문제는 N개의 음을 두 사람이 나누어 부를 때, 각 사람이 연속으로 부른 음의 차이 합(난이도)의 총합을 최소화하는 DP 문제입니다. 상태 (last0, last1)로 각 사람이 마지막으로 부른 음의 인덱스를 추적하고, 같은 사람이 연속으로 부를 때만 비용을 더하는 O(N²) 풀이로 해결합니다.
42jerrykim.github.io 블로그의 모든 게시물에 태그를 50개 이상으로 확장한 개선 작업을 정리한다. data/tags.yaml 확장, fallback-tag-pool.tsv 도입, infer-tags.ps1 수정을 통해 849개 파일에 20,460개 태그를 추가했다.
궁전(룩+킹 이동)을 (0,0) 쪽으로만 움직이는 impartial game이다. 각 칸의 Grundy 수가 g(x,y)=3*(⌊x/3⌋ XOR ⌊y/3⌋)+(x+y)%3로 주어짐을 이용해, N개 궁전의 Grundy XOR이 0이면 후공(cubelover) 승, 아니면 선공(koosaga) 승을 O(N)에 판정한다.
BIT(Binary Indexed Tree)와 좌표 압축을 이용해 역전 쌍(Inversion Count)을 O(N log N)에 구하는 풀이입니다. 인접 교환 정렬의 최소 교환 횟수가 역전 쌍 수와 동치임을 증명하고, 값 범위가 10억에 달하는 입력을 좌표 압축으로 처리합니다.
2020년 Flash 종료로 사라질 위기에 처한 웹 게임과 애니메이션을 지키기 위해, BlueMaxima가 2017년 시작한 커뮤니티 기반 비영리 프로젝트 Flashpoint Archive. 17만 게임·3만 애니메이션, 100+ 기술을 보존하는 방법과 의의를 정리한다.