---
name: problem
description: 프로그래머스/릿코드 문제 URL을 받아 풀이용 껍데기 Java 클래스를 생성한다. 사용자가 문제 URL을 주거나 "문제 풀 거야", "클래스 만들어줘" 등을 요청할 때 사용.
argument-hint: <problem-url>
allowed-tools: WebFetch Read Write Bash Glob Grep
---

# 알고리즘 문제 풀이 껍데기 클래스 생성

문제 URL: $ARGUMENTS

## 프로세스

1. **문제 페이지 가져오기**: WebFetch로 문제 URL에서 다음 정보를 추출한다:
   - 문제 이름
   - 문제 분류/카테고리 (해시, 스택/큐, 힙, 정렬, 완전탐색, 탐욕, 동적계획법, DFS/BFS, 이진탐색, 그래프 등)
   - 문제 설명 (무엇을 구하는 문제인지, 제약조건)
   - 함수 시그니처 (메서드명, 파라미터, 리턴 타입)
   - 예제 입출력

2. **파일 위치 결정**: 
   - 프로젝트의 `src/` 디렉토리 기준으로 생성한다
   - 분류에 맞는 패키지(디렉토리)에 생성한다
   - 기존 디렉토리 목록을 확인하여 매칭되는 패키지를 찾는다
   - 매칭되는 패키지가 없으면 `src/` 루트에 생성한다
   - 클래스명은 한글 문제명을 언더스코어로 연결한다 (예: 더_맵게, 징검다리)

3. **껍데기 클래스 생성**: 아래 템플릿을 따른다:

```java
package 패키지명; // src/ 루트에 생성할 경우 생략

/**
 * 문제_이름
 *
 * 문제 설명 (무엇을 구하는 문제인지 간결하게)
 *
 * 제약조건:
 * - 제약조건들
 *
 * @link 문제_URL
 */
public class 클래스명 {
    public 리턴타입 메서드명(파라미터들) {
        // TODO(human): 구현하세요.
        return 기본값;
    }

    public static void main(String[] args) {
        클래스명 test = new 클래스명();
        // 예제 입력으로 테스트
        결과타입 result = test.메서드명(예제_입력값);
        System.out.println(result); // 기대값: 예제_출력값
    }
}
```

## 규칙

- 풀이 로직은 절대 작성하지 않는다. `TODO(human)` 주석과 기본 리턴값만 남긴다.
- import문은 필요할 것으로 예상되는 것들을 미리 추가하지 않는다.
- main 메서드에 문제의 예제 테스트 케이스를 모두 포함한다.
- 이미 같은 이름의 파일이 존재하면 사용자에게 알리고 덮어쓸지 확인한다.
- 파일 생성 후 파일 경로를 사용자에게 알려준다.
- 문제 풀이 방법, 힌트, 접근법, 알고리즘 설명을 절대 제공하지 않는다. 껍데기 클래스 생성만 한다.
  - 이 금지 규칙은 **이 스킬이 실행되는 그 순간(껍데기 생성 단계)에만** 적용된다.
  - 이후 사용자가 대화에서 "어떻게 풀어?", "다음 어떻게 해?", "힌트 줘" 등을 요청하면 정상적으로 힌트/풀이 방향을 제공한다.