처음이어도 괜찮아요 · 그림부터 시작해요
나누고 풀고 합치는 약속 세우기
큰 문제를 나누는 기준과 다시 합치는 경계를 표시하고, 각 조각의 약속이 전체로 이어지는지 확인할 수 있어요.
먼저 떠올릴 생활 장면큰 장난감 상자를 반씩 나눠 정리한 뒤 다시 한 상자로 합치는 계획을 세우는 것과 같아요.- 1짧은 이야기 읽기
- 2내 생각 하나 고르기
- 3네 걸음 같이 보기
- 4내 말로 한 줄 적기
02 · 낯선 말부터 풀기
정확한 이름보다 먼저 쉬운 뜻을 읽어요
처음 보는 말도 책 읽듯 풀어봐요
이 수업은 쉬운 뜻과 생활 예를 아직 함께 준비하지 못했어요. 설명 없는 정확한 이름은 먼저 보여 주지 않을게요.
그림에서 찾을 쉬운 규칙
- 01현재 다루는 구간의 시작과 끝을 괄호로 묶어요.
- 02기준 카드, 가운데, 합칠 두 줄 중 이번 갈림 기준을 표시해요.
- 03한 단계 뒤 각 카드가 어느 조각으로 갔는지 화살표를 그려요.
- 04각 조각의 약속과 다시 합친 전체 약속이 모두 맞는지 확인해요.
03 · 그림으로 보기
카드가 움직이고 찾을 범위가 줄어드는 모습을 따라가요
- 01오늘의 장면병렬 batch·external merge·재귀 알고리즘 설계를 여덟 장 카드와 두 개 query로 줄여 나누고 풀고 합치는 약속 세우기 판단을 수행한다.
- 02첫 걸음현재 다루는 구간의 시작과 끝을 괄호로 묶어요.
- 03결과 열기내 답을 먼저 적은 뒤 결과를 열어 봐요.
04 · 책처럼 천천히 되짚기
방금 한 일을 한 줄씩 다시 읽어요
병렬 batch·external merge·재귀 알고리즘 설계를 여덟 장 카드와 두 개 query로 줄여 나누고 풀고 합치는 약속 세우기 판단을 수행한다.
ss21 · 8-record public fixture · duplicate tie · deterministic key/query order05 · 이제 내가 해볼 차례
여기까지 오면 이런 일을 할 수 있어요
큰 문제를 나누는 기준과 다시 합치는 경계를 표시하고, 각 조각의 약속이 전체로 이어지는지 확인할 수 있어요.
- 현재 다루는 구간의 시작과 끝을 괄호로 묶어요.
- 기준 카드, 가운데, 합칠 두 줄 중 이번 갈림 기준을 표시해요.
- 한 단계 뒤 각 카드가 어느 조각으로 갔는지 화살표를 그려요.
- 각 조각의 약속과 다시 합친 전체 약속이 모두 맞는지 확인해요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.
8원소 배열을 base case까지 나누고 각 node가 반환해야 할 정렬 구간을 적는다.을 수행하고 subproblem 크기 tree·base case·combine contract·recurrence 지도로 order/query contract·invariant·cost·claim level을 독립 검증한다.
- 나누고 풀고 합치는 약속 세우기의 input·output·key/comparator·tie·duplicate·mutation 계약을 AI 없이 먼저 고정한다.
- 재귀 호출만 두 개 만들고 부분 문제가 줄어드는지, 합칠 때 어떤 불변식이 필요한지 증명하지 않는다.를 empty·singleton·all-equal·already-sorted·reverse·adversarial 중 해당하는 최소 반례로 재현한다.
- correctness와 comparison·write·space·preprocessing/query cost, library 문서와 측정 관찰을 서로 구분한다.
- subproblem 크기 tree·base case·combine contract·recurrence 지도와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.
06 · 자주 헷갈리는 지점
틀린 답도 이유를 알면 다음에는 맞힐 수 있어요
처음부터 모두 맞힐 필요는 없어요.괜찮아요. 처음 어긋난 한 단계만 찾아요. 완성된 줄을 버리지 말고 처음 잘못 나뉜 경계 하나와 그 양옆 카드부터 다시 확인해요.
헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01나누고 풀고 합치는 약속 세우기에서 작은 예제의 최종 순서나 위치가 맞으면 기준·동률·중복·mutation 계약도 자동으로 맞다.
한 번 더 생각해 볼 질문병렬 batch·external merge·재귀 알고리즘 설계에서 같은 최종 값처럼 보이지만 안정성이나 위치 답이 달라지는 두 계약을 만드세요.
이렇게 고쳐 생각해요divide가 문제 크기를 줄이고 conquer 결과가 같은 order contract를 만족하며 combine 뒤 전체가 정렬됨을 명시한다.처럼 정답 전에 input·order·query contract와 observable result를 봉인해야 한다.
02부분 문제 한 번이 빠르면 모든 input order·key range·query count에서 같은 방법이 최선이다.
한 번 더 생각해 볼 질문재귀 호출만 두 개 만들고 부분 문제가 줄어드는지, 합칠 때 어떤 불변식이 필요한지 증명하지 않는다.를 드러내며 선택이 뒤집히는 최소 input family를 제시하세요.
이렇게 고쳐 생각해요subproblem 크기 tree·base case·combine contract·recurrence 지도에 worst case, preprocessing, comparison/write/space와 관찰값을 분리해야 한다.
03AI 구현과 AI가 만든 expected trace가 일치하면 나누고 풀고 합치는 약속 세우기의 correctness와 성능이 독립 검증된다.
한 번 더 생각해 볼 질문재귀 호출만 두 개 만들고 부분 문제가 줄어드는지, 합칠 때 어떤 불변식이 필요한지 증명하지 않는다.를 드러내는 AI-off fixture와 사람이 계산할 expected result를 쓰세요.
이렇게 고쳐 생각해요같은 가정을 공유한 두 결과는 독립 oracle이 아니며 손계산 trace·brute force·metamorphic relation·공식 계약 중 별도 근거가 필요하다.
07 · 더 궁금할 때만 보기
선생님과 검토자를 위한 믿을 만한 원문
원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.
