학습 본문으로 건너뛰기
오늘은 질문 하나만 해결해요64 / 72

처음이어도 괜찮아요 · 그림부터 시작해요

정렬과 찾기 네 방법 비교하기

오늘은 이것 하나만

문제 모양, 데이터 모양, 정렬·찾기 방법을 바꿔 보며 정확성·일의 양·공간을 함께 보고 알맞은 방법을 고를 수 있어요.

먼저 떠올릴 생활 장면학생 명단, 같은 가격표, 물병 용량, 색 구슬이라는 네 일을 보고 가장 알맞은 줄 세우기·찾기 방법을 고르는 것과 같아요.
  1. 1짧은 이야기 읽기
  2. 2내 생각 하나 고르기
  3. 3네 걸음 같이 보기
  4. 4내 말로 한 줄 적기
오늘의 작은 이야기
먼저 이 장면만 천천히 읽어요

방법 이름을 고르기 전에 어떤 세 가지를 먼저 맞춰 볼까요?

정답을 몰라도 괜찮아요. 지금 생각과 가장 가까운 것을 골라요.

02 · 낯선 말부터 풀기

정확한 이름보다 먼저 쉬운 뜻을 읽어요

처음 보는 말도 책 읽듯 풀어봐요

이 수업은 쉬운 뜻과 생활 예를 아직 함께 준비하지 못했어요. 설명 없는 정확한 이름은 먼저 보여 주지 않을게요.

그림에서 찾을 쉬운 규칙

  1. 01문제가 요구하는 답과 지켜야 할 순서를 먼저 적어요.
  2. 02데이터가 정렬됐는지, 같은 값과 값 범위가 어떤지 표시해요.
  3. 03방법을 한 단계씩 재생해 정확성·비교·쓰기·공간을 기록해요.
  4. 04통과와 실패를 근거로 수락·수정·다른 방법 선택 중 하나를 고르세요.

03 · 그림으로 보기

카드가 움직이고 찾을 범위가 줄어드는 모습을 따라가요

GOLD LAB · ORDER / QUERY / BOUNDARY

정렬과 찾기 네 방법 비교하기: 정렬하고 찾는 과정을 눈으로 증명해 봐요

64가지 선택 · 256개 결정 프레임

Order Forge · 정렬과 찾기 방법 골라보기의 order/query contract·comparison 또는 predicate·partition/boundary·cost·claim 판정을 한 흐름으로 분리한다.

사용 순서
  1. 문제를 고릅니다.
  2. 방법을 고릅니다.
  3. 데이터 모양을 고릅니다.
  4. 네 단계를 직접 눌러 결과를 확인합니다.

자동 재생은 없습니다. 내가 준비됐을 때 다음 단계로 이동하세요.

1. 어떤 문제를 풀까요?
2. 어떤 방법으로 풀까요?
3. 어떤 데이터로 시험할까요?
문제같은 점수의 원래 순서 지키기

key 오름차순과 동일 key의 originalIndex 상대 순서를 함께 증명합니다.

방법안정 비교 정렬 + 경계 탐색

sealed total comparator or monotone false-prefix/true-suffix predicate

데이터8장 · 같은 값 5장

n=8 · key range 4

STEP 1 · 직접 확인하는 ORDER LAB

무엇을 정렬하고 어디를 찾을지 약속하기

정렬 기준, 같은 값의 순서, 찾을 범위와 입력 domain을 실행 전에 정했나요?

8장 · 같은 값 5장 데이터에서 “같은 점수의 원래 순서 지키기” 문제의 정렬·질의 약속을 잠갔습니다.

#04처음 #0예측 전
#12처음 #1예측 전
#24처음 #2예측 전
#31처음 #3예측 전
#43처음 #4예측 전
#52처음 #5예측 전
#64처음 #6예측 전
#71처음 #7예측 전
반열린 활성 구간과 카드 상태여덟 카드 중 현재 남은 구간은 0부터 8 직전까지이고 가운데 위치는 4입니다.ORDER LAB · [LO, HI) BOUNDARY RECEIPTSEAL_ORDER_QUERY_CONTRACTINDEX 04예측 전INDEX 12예측 전INDEX 24예측 전INDEX 31예측 전INDEX 43예측 전INDEX 52예측 전INDEX 64예측 전INDEX 71예측 전LO 0MID 4HI 8 · EXCLUSIVE
비교24 / work 224
10%
쓰기48 / work 224
21%
공간96 / space 284
33%

지금 실행 중인 한 줄

그림과 같은 순서의 의사코드

LINE 1 / 4
  1. 01stableSort(records, comparator)
  2. 02lo = lowerBound(records, query)
  3. 03hi = upperBound(records, query)
  4. 04return [lo, hi) with receipts

아직 결과를 맞히지 말고 정렬 기준과 남겨야 할 구간을 먼저 읽습니다.

현재 관찰

구간과 비용 영수증

[LO, HI)
남은 구간
[0, 8)
가운데
4
경계 출력
이 문제에서는 별도 경계를 제출하지 않습니다.
predicate 확인
0
추상 work
72 / 224
논리 공간
96 / 284

처음 갈라지는 지점아직 관찰 전입니다. 먼저 어떤 카드가 남을지 예측해 보세요.

판정 잠금

마지막 판정은 아직 잠겨 있어요

pending

정렬 전제 → 구간 → 경계 → 중복 → 안정성 → comparator → domain → work·space 순서로 확인합니다.

01
정렬 전제

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
02
구간 갱신

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
03
한 칸 경계

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
04
중복 범위

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
05
같은 값의 순서

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
06
비교 기준

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
07
입력 domain

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending
08
작업·공간 예산

먼저 문제의 약속과 비교 기준을 읽어 보세요.

pending

먼저 카드와 구간을 예측해 보세요. 성공·실패 이름은 4단계에서만 나타납니다.

이 실험실의 숫자는 64개 선택을 같은 규칙으로 비교하기 위한 결정적 추상 모델입니다. 실제 언어·브라우저의 실행시간은 별도로 측정해야 합니다.

04 · 책처럼 천천히 되짚기

방금 한 일을 한 줄씩 다시 읽어요

학생 record·중복 가격 query·최소 capacity·bounded integer batch를 여덟 장 카드와 두 개 query로 줄여 Order Forge · 정렬과 찾기 방법 골라보기 판단을 수행한다.

이 장면에서 주어진 것ss64 · 8-record public fixture · duplicate tie · deterministic key/query order
내 말로 8자 이상 적어요 · 0 / 240

05 · 이제 내가 해볼 차례

여기까지 오면 이런 일을 할 수 있어요

문제 모양, 데이터 모양, 정렬·찾기 방법을 바꿔 보며 정확성·일의 양·공간을 함께 보고 알맞은 방법을 고를 수 있어요.

  • 문제가 요구하는 답과 지켜야 할 순서를 먼저 적어요.
  • 데이터가 정렬됐는지, 같은 값과 값 범위가 어떤지 표시해요.
  • 방법을 한 단계씩 재생해 정확성·비교·쓰기·공간을 기록해요.
  • 통과와 실패를 근거로 수락·수정·다른 방법 선택 중 하나를 고르세요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.

64조합의 comparator/predicate·stability/duplicate·partition/boundary·termination·work/space gate를 독립 model로 재생한다.을 수행하고 4 workload×4 policy×4 profile×4 phase의 256-frame ledger와 final-only verdict matrix로 order/query contract·invariant·cost·claim level을 독립 검증한다.

  • Order Forge · 정렬과 찾기 방법 골라보기의 input·output·key/comparator·tie·duplicate·mutation 계약을 AI 없이 먼저 고정한다.
  • 최종 verdict를 모든 phase에 미리 노출하거나 한 policy를 모든 workload·profile에서 보편 최적이라고 표시한다.를 empty·singleton·all-equal·already-sorted·reverse·adversarial 중 해당하는 최소 반례로 재현한다.
  • correctness와 comparison·write·space·preprocessing/query cost, library 문서와 측정 관찰을 서로 구분한다.
  • 4 workload×4 policy×4 profile×4 phase의 256-frame ledger와 final-only verdict matrix와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.

06 · 자주 헷갈리는 지점

틀린 답도 이유를 알면 다음에는 맞힐 수 있어요

처음부터 모두 맞힐 필요는 없어요.괜찮아요. 처음 어긋난 한 단계만 찾아요. 결과를 전부 다시 만들지 말고 계약·정확성·일·공간 네 칸 중 처음 실패한 칸부터 확인해요.

헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01Order Forge · 정렬과 찾기 방법 골라보기에서 작은 예제의 최종 순서나 위치가 맞으면 기준·동률·중복·mutation 계약도 자동으로 맞다.

한 번 더 생각해 볼 질문학생 record·중복 가격 query·최소 capacity·bounded integer batch에서 같은 최종 값처럼 보이지만 안정성이나 위치 답이 달라지는 두 계약을 만드세요.

이렇게 고쳐 생각해요workload의 order/query contract와 input profile을 먼저 봉인하고 linear, stable comparison+bound, partition sort+bound, counting/radix 정책을 같은 추상 비용 단위로 비교한다.처럼 정답 전에 input·order·query contract와 observable result를 봉인해야 한다.

02정렬·탐색 정책 한 번이 빠르면 모든 input order·key range·query count에서 같은 방법이 최선이다.

한 번 더 생각해 볼 질문최종 verdict를 모든 phase에 미리 노출하거나 한 policy를 모든 workload·profile에서 보편 최적이라고 표시한다.를 드러내며 선택이 뒤집히는 최소 input family를 제시하세요.

이렇게 고쳐 생각해요4 workload×4 policy×4 profile×4 phase의 256-frame ledger와 final-only verdict matrix에 worst case, preprocessing, comparison/write/space와 관찰값을 분리해야 한다.

03AI 구현과 AI가 만든 expected trace가 일치하면 Order Forge · 정렬과 찾기 방법 골라보기의 correctness와 성능이 독립 검증된다.

한 번 더 생각해 볼 질문최종 verdict를 모든 phase에 미리 노출하거나 한 policy를 모든 workload·profile에서 보편 최적이라고 표시한다.를 드러내는 AI-off fixture와 사람이 계산할 expected result를 쓰세요.

이렇게 고쳐 생각해요같은 가정을 공유한 두 결과는 독립 oracle이 아니며 손계산 trace·brute force·metamorphic relation·공식 계약 중 별도 근거가 필요하다.

07 · 더 궁금할 때만 보기

선생님과 검토자를 위한 믿을 만한 원문

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.