Skip to content

feat: 문제 풀이 현황을 Blind Top 75 10개 카테고리로 축소 (#34)#37

Merged
sounmind merged 2 commits intomainfrom
feat/34-blind-75-categories
Apr 22, 2026
Merged

feat: 문제 풀이 현황을 Blind Top 75 10개 카테고리로 축소 (#34)#37
sounmind merged 2 commits intomainfrom
feat/34-blind-75-categories

Conversation

@sounmind
Copy link
Copy Markdown
Member

@sounmind sounmind commented Apr 22, 2026

Summary

GitHub App PR 댓글의 "문제 풀이 현황" 표를 LeetCode 기준 20+개 카테고리에서 Blind Top 75 큐레이션의 10개 카테고리 (Array / Binary / Dynamic Programming / Graph / Interval / Linked List / Matrix / String / Tree / Heap) 로 축소합니다.

설계

문제 메타데이터 단일 소스 원칙을 지키기 위해 매핑 테이블을 원본 JSON 에 통합:

  • DaleStudy/leetcode-study#2559 에서 problem-categories.json 의 각 문제에 blindCategories 필드를 추가.
  • 본 Worker 는 이 필드를 직접 읽어 집계 — 매핑 코드 0줄.
for (const [problemName, info] of Object.entries(categories)) {
  for (const cat of info.blindCategories) {
    // ...
  }
}

변경 사항

  • handlers/learning-status.js:
    • buildCategoryProgressinfo.blindCategories 를 읽어 Blind 10개만 집계
    • 동률 정렬 타이브레이커용 BLIND_CATEGORY_ORDER 상수를 모듈 내부에 유지
  • 이전 커밋에 있던 utils/blindCategories.js (75줄 하드코딩 매핑) 은 불필요해져 삭제.

⚠️ 머지 순서

  1. 먼저 DaleStudy/leetcode-study#2559 머지 (원본 JSON 에 blindCategories 필드 추가)
  2. 그 다음 이 PR 머지 (Cloudflare Git integration 이 main 머지 시 자동 배포)

순서가 반대면 Worker 가 undefined.blindCategories 접근으로 실패. 의도적으로 폴백을 넣지 않음 — 필드 누락을 조용히 덮는 것보다 즉시 실패가 낫다.

카테고리별 문제 수 (검증)

Blind 카테고리 문제 수
Array 10
Binary 5
Dynamic Programming 11
Graph 8
Interval 5
Linked List 6
Matrix 4
String 10
Tree 14
Heap 3

75개 문제 전부 매핑 (merge-k-sorted-lists 는 Linked List + Heap 동시 소속).

Test plan

  • leetcode-study#2559 브랜치의 JSON 을 가져와 buildCategoryProgress 시뮬레이션 → 10행 출력, 난이도 집계 정상
  • merge-k-sorted-lists 가 Linked List + Heap 양쪽 집계에 잡히는지 확인
  • leetcode-study#2559 머지 → 이 PR 머지 → 자동 배포 → leetcode-study PR 댓글에서 10행으로 노출되는지 프로덕션 검증

Closes #34

🤖 Generated with Claude Code

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 22, 2026

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
github 8fd5a30 Commit Preview URL

Branch Preview URL
Apr 22 2026, 12:55 PM

@sounmind sounmind requested a review from soobing April 22, 2026 12:15
@sounmind sounmind force-pushed the feat/34-blind-75-categories branch from 073e67a to 4ae8a25 Compare April 22, 2026 12:47
sounmind and others added 2 commits April 22, 2026 08:53
LeetCode 기준 20+개 카테고리가 나열되며 표가 길어지던 문제를
Blind Top 75 큐레이션의 10개 카테고리로 축소한다.

- utils/blindCategories.js: 75개 문제별 Blind 카테고리 매핑 테이블
- handlers/learning-status.js: buildCategoryProgress 가 Blind 10개만 집계

Closes #34

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: soobing <16860535+soobing@users.noreply.github.com>
DaleStudy/leetcode-study#2559 에서 `problem-categories.json` 의 각 문제에
`blindCategories` 필드를 추가한 뒤, Worker 는 이 필드를 직접 읽는다.

- utils/blindCategories.js 삭제 (매핑 테이블이 원본 JSON 으로 이전)
- BLIND_CATEGORY_ORDER 는 handlers/learning-status.js 내부 상수로 유지
  (동률 정렬의 타이브레이커로만 사용)

머지 순서: leetcode-study#2559 먼저, 그 다음 이 PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: soobing <16860535+soobing@users.noreply.github.com>
@sounmind sounmind force-pushed the feat/34-blind-75-categories branch from 4ae8a25 to 8fd5a30 Compare April 22, 2026 12:54
Copy link
Copy Markdown
Contributor

@soobing soobing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM :)

@sounmind sounmind merged commit 0c97960 into main Apr 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

문제 풀이 현황 길이 줄이기

2 participants