프로젝트 소개

프로그래머스/LeetCode 코딩테스트 문제를 관리하고 풀이를 기록하는 학습 앱입니다. 100개 문제를 카테고리/난이도/풀이 상태별로 필터링할 수 있습니다.

Live: codingtest.lemuel.co.kr

핵심 기능

  • 100개 문제: BFS, DFS, DP, Greedy 각 10개 + 기타 60개
  • 카테고리 필터: 13개 카테고리 (투포인터, 슬라이딩윈도우, 이진탐색 등)
  • 난이도 필터: EASY / MEDIUM / HARD
  • 풀이 상태: NOT_ATTEMPTED / SOLVED / FAILED / RETRY
  • 코드 관리: 풀이 코드 + 메모 저장 (Java/Python/JS)
  • 대시보드: 진행률, 카테고리별 통계

기술적 포인트

JPA @EntityGraph로 N+1 해결:

@EntityGraph(attributePaths = {"categories", "solutions"})
Optional<Problem> findById(Long id);

open-in-view: false 설정에서 Lazy Loading 에러를 방지하기 위해 Repository 레벨에서 fetch join을 적용했습니다.

기술 스택

Spring Boot 4 / Java 25 / H2 / Thymeleaf / Bootstrap 5