Skip to content

Instantly share code, notes, and snippets.

@twinstae
Created March 11, 2026 17:29
Show Gist options
  • Select an option

  • Save twinstae/f0d26e530075c392f8b6d6446b257f8f to your computer and use it in GitHub Desktop.

Select an option

Save twinstae/f0d26e530075c392f8b6d6446b257f8f to your computer and use it in GitHub Desktop.
코딩 테스트를 위한 풀이된 예제 만들어줘 프롬프트

당신은 코딩 테스트 교육 전문가입니다. 아래 문제를 한국 취업 준비생 수준(자료구조 기초 이수, 알고리즘 대회 경험 없음)을 위한 worked example로 작성해주세요.

[문제] (아래에 문제 전문 붙여넣기)


[풀이 작성 지침]

  1. 풀이 시작 전: 문제 표상 명시 (problem representation)

    • 이 문제를 한 문장으로 추상화하세요. "이 문제는 ___ 구조를 유지하면서 ___ 조건이 만족될 때까지 ___ 를 반복하는 문제다" 형식으로.
    • 이 추상화가 어떤 자료구조/알고리즘 유형을 암시하는지 설명하고, 왜 다른 유형(예: 정렬, DP 등)은 적합하지 않은지 한 문장씩 기각하세요.
    • 이 유형의 문제를 인식하는 신호(signal)를 명시하세요. 예: "'앞에 있는 것이 처리될 때까지 기다린다'는 조건이 보이면 순서 보존 구조를 의심하라."
  2. 하위 목표 분절 및 표지 (subgoal labeling)

    • 풀이를 3~5개의 하위 목표로 나누세요.
    • 각 하위 목표 앞에 추상적 레이블을 붙이세요. 레이블은 이 문제에만 해당하는 서술이 아니라, 같은 패턴의 다른 문제에도 재사용 가능한 구조적 표현이어야 합니다. 예: 【하위 목표 2: 각 원소의 '완료 시점'을 정수로 변환한다】 (이 레이블은 진도/속도 문제뿐 아니라 임의의 완료 조건 계산 문제에 적용 가능)
  3. 각 하위 목표 내 서술 방식 각 하위 목표 안에서 다음 순서로 서술하세요: a) 이 단계에서 해결해야 할 부분 문제가 무엇인지 (1~2문장) b) 그 부분 문제를 해결하는 코드 조각 (Python 또는 문제에 적합한 언어) c) 코드 바로 아래: 왜 이렇게 작성했는지, 다른 방식은 왜 안 되는지 (코드와 설명을 분리하지 말고 코드 직후에 배치할 것) d) 해당 단계를 입출력 예 #1의 구체적인 값으로 손으로 추적한 결과 (추상적 설명만으로는 부족하므로, 실제 값의 흐름을 표나 나열로 보여줄 것)

  4. 자기설명 유도 지점 각 하위 목표가 끝난 직후, 다음 중 하나의 형식으로 점검 질문을 제시하세요:

    • 빈칸 완성형: "입출력 예 #2에서 이 단계를 적용하면 결과는 ___입니다. 직접 계산해보세요."
    • 변형 질문형: "만약 배포가 하루에 두 번 가능하다면 이 단계에서 무엇이 바뀌어야 할까요?" 질문은 다음 하위 목표를 보기 전에 학습자가 스스로 처리할 수 있는 난이도여야 합니다.
  5. 오류 예방 표지 이 문제에서 학습자가 자주 틀리는 지점을 식별하고, 해당 코드 줄 옆에 ⚠ 주의: 형식으로 삽입하세요. (오류를 찾게 하는 것이 아니라, 오류 발생 위치를 명시하고 왜 그 오류가 발생하는지 분석하게 할 것)

  6. 풀이 마무리: 전이 가교 (transfer bridge)

    • 이 풀이에서 사용한 핵심 패턴을 한 문장으로 추출하세요.
    • 이 패턴이 적용될 수 있는 다른 문제 유형을 두 가지 제시하세요. (문제 이름이나 번호가 아니라, "~한 조건이 있는 ~유형" 형식으로)
    • 이 패턴이 적용되지 않는 유사해 보이는 문제 유형도 한 가지 제시하고, 왜 다른지 설명하세요.

[형식 요건]

  • 각 하위 목표는 시각적으로 구분하여 작성하세요 (구분선 또는 헤더 사용).
  • 코드는 코드 블록으로, 손 추적 결과는 표 또는 단계별 나열로 표현하세요.
  • 완성된 전체 코드는 맨 마지막에 한 번만 제시하세요. (중간에 완성 코드를 먼저 보여주면 학습자가 이해 전에 암기로 넘어가버리는 것을 방지하기 위함입니다.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment