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

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

찾는 값보다 작지 않은 첫 자리 찾기

오늘은 이것 하나만

정렬 또는 아니오-예 경계를 확인하고, 반열린 구간을 줄여 첫 답·끝 다음 답·가능한 답을 찾을 수 있어요.

먼저 떠올릴 생활 장면키순 줄에 새 친구가 들어갈 때, 처음으로 새 친구보다 작지 않은 친구의 앞자리를 찾는 것과 같아요.
  1. 1짧은 이야기 읽기
  2. 2내 생각 하나 고르기
  3. 3네 걸음 같이 보기
  4. 4내 말로 한 줄 적기
오늘의 작은 이야기
먼저 이 장면만 천천히 읽어요

가운데를 보기 전에 어떤 약속이 참인지 먼저 확인할까요?

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

02 · 낯선 말부터 풀기

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

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

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

그림에서 찾을 쉬운 규칙

  1. 01정렬됨 또는 아니오 뒤에 예가 이어지는 약속을 작은 예로 확인해요.
  2. 02현재 [시작, 끝)과 살펴볼 가운데를 표시해요.
  3. 03질문 결과에 따라 버릴 절반과 남길 절반을 다른 무늬로 칠해요.
  4. 04구간이 멈췄을 때 첫 자리·끝 다음 자리·마지막 가능 중 약속한 답인지 확인해요.

03 · 그림으로 보기

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

찾는 값보다 작지 않은 첫 자리 찾기를 보고, 따라 하고, 다시 해보는 그림처음으로 target보다 작지 않은 자리 찾기(lower bound)에서 원래 index와 key, comparison·write·partition 또는 left·mid·right 경계를 추적하는 설명도01오늘의 장면삽입 위치·threshold 이상첫 record·rangecount를 여덟 장 카드와 두 …02첫 걸음정렬됨 또는 아니오 뒤에 예가이어지는 약속을 작은 예로확인해요.03결과 열기내 답을 먼저 적은 뒤 결과를 열어봐요.직접 살펴보는 그림 · 처음으로 target보다 작지 않은 자리 찾기(lower bound)의 order/query contract·comparison 또는 predicate·partition/boundary·cost·claim 판정을 한 흐름으로 분리한다.처음 생각과 달라도 괜찮아요. 달라진 첫 단계만 다시 봐요.
  1. 01오늘의 장면삽입 위치·threshold 이상 첫 record·range count를 여덟 장 카드와 두 개 query로 줄여 처음으로 target보다 작지 않은 자리 찾기(lower bound) 판단을 수행한다.
  2. 02첫 걸음정렬됨 또는 아니오 뒤에 예가 이어지는 약속을 작은 예로 확인해요.
  3. 03결과 열기내 답을 먼저 적은 뒤 결과를 열어 봐요.
처음으로 target보다 작지 않은 자리 찾기(lower bound)의 order/query contract·comparison 또는 predicate·partition/boundary·cost·claim 판정을 한 흐름으로 분리한다.내 생각을 먼저 남기면 결과와 쉬운 설명을 차례로 열 수 있어요.현재 화면: 그림 요약 · 그림을 보는 방법: key·tie·input order·query·boundary 중 하나를 바꾸면 comparison·write·candidate interval·result가 어떻게 달라지는지 비교한다. · 움직임 없이 보기: 자동 이동과 큰 변형 없이 선택 상태·선 굵기·pattern·텍스트·표로 같은 정보를 즉시 표시한다.

04 · 책처럼 천천히 되짚기

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

삽입 위치·threshold 이상 첫 record·range count를 여덟 장 카드와 두 개 query로 줄여 처음으로 target보다 작지 않은 자리 찾기(lower bound) 판단을 수행한다.

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

05 · 이제 내가 해볼 차례

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

정렬 또는 아니오-예 경계를 확인하고, 반열린 구간을 줄여 첫 답·끝 다음 답·가능한 답을 찾을 수 있어요.

  • 정렬됨 또는 아니오 뒤에 예가 이어지는 약속을 작은 예로 확인해요.
  • 현재 [시작, 끝)과 살펴볼 가운데를 표시해요.
  • 질문 결과에 따라 버릴 절반과 남길 절반을 다른 무늬로 칠해요.
  • 구간이 멈췄을 때 첫 자리·끝 다음 자리·마지막 가능 중 약속한 답인지 확인해요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.

1,2,2,2,5에서 target 2·3·0·9의 lower bound를 구한다.을 수행하고 predicate value<target·left/mid/right·최초 false boundary trace로 order/query contract·invariant·cost·claim level을 독립 검증한다.

  • 처음으로 target보다 작지 않은 자리 찾기(lower bound)의 input·output·key/comparator·tie·duplicate·mutation 계약을 AI 없이 먼저 고정한다.
  • equal을 찾자마자 반환해 첫 duplicate 위치를 놓치거나 absent target의 insertion point를 오류로 처리한다.를 empty·singleton·all-equal·already-sorted·reverse·adversarial 중 해당하는 최소 반례로 재현한다.
  • correctness와 comparison·write·space·preprocessing/query cost, library 문서와 측정 관찰을 서로 구분한다.
  • predicate value<target·left/mid/right·최초 false boundary trace와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.

06 · 자주 헷갈리는 지점

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

처음부터 모두 맞힐 필요는 없어요.괜찮아요. 처음 어긋난 한 단계만 찾아요. 처음부터 다시 찾지 말고 마지막으로 맞았던 [시작, 끝)과 가운데 질문 한 번을 되돌려요.

헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01처음으로 target보다 작지 않은 자리 찾기(lower bound)에서 작은 예제의 최종 순서나 위치가 맞으면 기준·동률·중복·mutation 계약도 자동으로 맞다.

한 번 더 생각해 볼 질문삽입 위치·threshold 이상 첫 record·range count에서 같은 최종 값처럼 보이지만 안정성이나 위치 답이 달라지는 두 계약을 만드세요.

이렇게 고쳐 생각해요answer가 [left,right] candidate boundary이며 value < target이면 left를 넘기고 그렇지 않으면 right를 mid로 좁힌다.처럼 정답 전에 input·order·query contract와 observable result를 봉인해야 한다.

02삽입 위치 한 번이 빠르면 모든 input order·key range·query count에서 같은 방법이 최선이다.

한 번 더 생각해 볼 질문equal을 찾자마자 반환해 첫 duplicate 위치를 놓치거나 absent target의 insertion point를 오류로 처리한다.를 드러내며 선택이 뒤집히는 최소 input family를 제시하세요.

이렇게 고쳐 생각해요predicate value<target·left/mid/right·최초 false boundary trace에 worst case, preprocessing, comparison/write/space와 관찰값을 분리해야 한다.

03AI 구현과 AI가 만든 expected trace가 일치하면 처음으로 target보다 작지 않은 자리 찾기(lower bound)의 correctness와 성능이 독립 검증된다.

한 번 더 생각해 볼 질문equal을 찾자마자 반환해 첫 duplicate 위치를 놓치거나 absent target의 insertion point를 오류로 처리한다.를 드러내는 AI-off fixture와 사람이 계산할 expected result를 쓰세요.

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

07 · 더 궁금할 때만 보기

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

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.
ACM, IEEE Computer Society, and AAAI · 2026년 7월 28일에 확인했어요ACM, IEEE Computer Society, and AAAI의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

International Olympiad in Informatics · 2026년 7월 28일에 확인했어요International Olympiad in Informatics의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

Python Software Foundation · 2026년 7월 28일에 확인했어요Python Software Foundation의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

ISO/IEC JTC 1/SC 22/WG21 · 공개 문서를 확인했어요ISO/IEC JTC 1/SC 22/WG21의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

CSES and University of Helsinki · 2026년 7월 28일에 확인했어요CSES and University of Helsinki의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

LeetCode · 2026년 7월 28일에 확인했어요LeetCode의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

Codeforces · 2026년 7월 28일에 확인했어요Codeforces의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.

cp-algorithms contributors · 2026년 7월 28일에 확인했어요cp-algorithms contributors의 공식 원문 보기

이 수업의 설명이 공식 규칙과 맞는지 선생님과 검토자가 다시 확인할 때 쓰는 원문이에요.