학습 본문으로 건너뛰기
VAIRODE
점과 선으로 길 찾기33번째 작은 수업
오늘은 질문 하나만 해결해요33 / 72

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

끝난 순서와 뒤집은 그래프로 묶기

오늘은 이것 하나만

먼저 해야 할 일과 서로 오갈 수 있는 묶음을 나누면, 순서와 빙글 도는 길을 찾을 수 있어요.

먼저 떠올릴 생활 장면어떤 숙제는 다른 숙제를 끝내야 시작할 수 있고, 어떤 방들은 서로 빙글 돌아 다시 올 수 있어요. 순서와 묶음을 어떻게 찾을까요?
  1. 1짧은 이야기 읽기
  2. 2내 생각 하나 고르기
  3. 3네 걸음 같이 보기
  4. 4내 말로 한 줄 적기
오늘의 작은 이야기
먼저 이 장면만 천천히 읽어요

작은 점과 선 그림을 보고, 문제를 풀기 전에 무엇을 가장 먼저 확인할지 하나 골라 보세요.

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

02 · 낯선 말부터 풀기

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

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

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

그림에서 찾을 쉬운 규칙

  1. 01점은 누구이고 선은 어떤 관계인지 그림에서 찾아 말해 봐요.
  2. 02어디에서 시작할지 표시하고, 다음에 볼 곳을 하나만 골라요.
  3. 03한 칸 움직인 뒤 달라진 점이나 숫자에 표시해요.
  4. 04처음 생각과 다르면, 달라진 첫 지점을 찾아 내 말로 설명해요.

03 · 그림으로 보기

점과 선이 움직이는 순서를 직접 확인해요

끝난 순서와 뒤집은 그래프로 묶기를 보고, 따라 하고, 다시 해보는 그림끝난 순서와 뒤집은 그래프로 묶기(Kosaraju)에서 vertex와 edge contract, frontier 또는 relaxation path, visited·parent·distance/component 상태와 결과를 추적하는 설명도01오늘의 장면의존성 cycle 묶기·SCC 구현비교를 축소한 합성 graph에서끝난 순서와 뒤집은 그래프로 묶기…02첫 걸음점은 누구이고 선은 어떤 관계인지그림에서 찾아 말해 봐요.03결과 열기내 답을 먼저 적은 뒤 결과를 열어봐요.직접 살펴보는 그림 · 끝난 순서와 뒤집은 그래프로 묶기(Kosaraju)의 graph contract·frontier/state·edge decision·invariant·claim 판정을 한 흐름으로 분리한다.처음 생각과 달라도 괜찮아요. 달라진 첫 단계만 다시 봐요.
  1. 01오늘의 장면의존성 cycle 묶기·SCC 구현 비교를 축소한 합성 graph에서 끝난 순서와 뒤집은 그래프로 묶기(Kosaraju) 판단을 수행한다.
  2. 02첫 걸음점은 누구이고 선은 어떤 관계인지 그림에서 찾아 말해 봐요.
  3. 03결과 열기내 답을 먼저 적은 뒤 결과를 열어 봐요.
끝난 순서와 뒤집은 그래프로 묶기(Kosaraju)의 graph contract·frontier/state·edge decision·invariant·claim 판정을 한 흐름으로 분리한다.내 생각을 먼저 남기면 결과와 쉬운 설명을 차례로 열 수 있어요.현재 화면: 그림 요약 · 그림을 보는 방법: edge direction·weight·neighbor order·source/state 중 하나를 바꾸면 frontier·visited·distance/component·result가 어떻게 달라지는지 비교한다. · 움직임 없이 보기: 자동 이동과 큰 변형 없이 선택 상태·선 굵기·pattern·텍스트·표로 같은 정보를 즉시 표시한다.

04 · 책처럼 천천히 되짚기

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

의존성 cycle 묶기·SCC 구현 비교를 축소한 합성 graph에서 끝난 순서와 뒤집은 그래프로 묶기(Kosaraju) 판단을 수행한다.

이 장면에서 주어진 것gr33 · 8-vertex public graph · deterministic neighbor/edge order · disconnected/cycle/tie boundary
내 말로 8자 이상 적어요 · 0 / 240

05 · 이제 내가 해볼 차례

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

먼저 해야 할 일과 서로 오갈 수 있는 묶음을 나누면, 순서와 빙글 도는 길을 찾을 수 있어요.

  • 점은 누구이고 선은 어떤 관계인지 그림에서 찾아 말해 봐요.
  • 어디에서 시작할지 표시하고, 다음에 볼 곳을 하나만 골라요.
  • 한 칸 움직인 뒤 달라진 점이나 숫자에 표시해요.
  • 처음 생각과 다르면, 달라진 첫 지점을 찾아 내 말로 설명해요.
오늘 해낼 일과 다 했다고 볼 기준 보기쉬운 순서를 익힌 뒤 더 정확히 확인하고 싶을 때 열어요.

작은 방향 그래프에서 두 번의 DFS 표를 채우고 SCC 묶음을 직접 색칠한다.을 수행하고 first-pass finish·transpose edge·second root·component assignment trace로 graph model·frontier/state·invariant·work/space·claim level을 독립 검증한다.

  • 끝난 순서와 뒤집은 그래프로 묶기(Kosaraju)의 vertex identity, edge direction/weight, duplicate/self-loop와 observable result 계약을 AI 없이 먼저 고정한다.
  • 첫 pass 방문표를 그대로 두거나 finish order를 뒤집지 않고 두 번째 DFS를 시작한다.를 disconnected·cycle·tie·unreachable·adversarial scale 중 해당하는 최소 반례로 재현한다.
  • logical graph와 edge-list·matrix·adjacency·implicit-state 표현, worst-case와 observed work를 구분한다.
  • first-pass finish·transpose edge·second root·component assignment trace와 사람의 accept·revise·reject 판정 및 보장하지 않는 범위를 제출한다.

06 · 자주 헷갈리는 지점

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

처음부터 모두 맞힐 필요는 없어요.괜찮아요. 전부 다시 하지 말고, 점이나 선을 다르게 본 첫 단계만 찾아보세요. 바로 앞 단계부터 다시 이어가면 돼요.

헷갈리기 쉬운 이유 세 가지 보기내가 어디에서 다르게 생각했는지 찾고 싶을 때 열어요.
01끝난 순서와 뒤집은 그래프로 묶기(Kosaraju)에서는 그림의 선과 점이 비슷하면 direction·weight·parallel edge·self-loop·state semantics도 같다.

한 번 더 생각해 볼 질문의존성 cycle 묶기·SCC 구현 비교에서 모양은 같지만 정답이 달라지는 두 graph contract를 만드세요.

이렇게 고쳐 생각해요코사라주(Kosaraju)는 원본 DFS의 finish order를 얻고 transpose graph에서 그 역순으로 DFS해 SCC를 분리한다.처럼 graph drawing보다 vertex identity와 edge contract를 먼저 봉인해야 한다.

02작은 입력에서 두 번 탐색(two pass) 결과가 맞으면 모든 topology·scale에서 같은 correctness와 complexity가 보장된다.

한 번 더 생각해 볼 질문첫 pass 방문표를 그대로 두거나 finish order를 뒤집지 않고 두 번째 DFS를 시작한다.가 방문·relaxation·memory를 늘리거나 정답을 바꾸는 최소 graph family를 제시하세요.

이렇게 고쳐 생각해요first-pass finish·transpose edge·second root·component assignment trace에 frontier·edge scan·state count·work/space와 source qualifier를 분리해야 한다.

03AI 구현과 AI가 만든 expected trace가 일치하면 끝난 순서와 뒤집은 그래프로 묶기(Kosaraju)의 correctness·성능·judge 적합성이 독립 검증된다.

한 번 더 생각해 볼 질문첫 pass 방문표를 그대로 두거나 finish order를 뒤집지 않고 두 번째 DFS를 시작한다.를 드러내는 AI-off fixture와 사람이 계산할 oracle을 쓰세요.

이렇게 고쳐 생각해요같은 모델 가정을 공유한 결과는 oracle이 아니며 exhaustive small graph·brute force·certificate·metamorphic relation 중 독립 수단이 필요하다.

07 · 더 궁금할 때만 보기

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

원문과 어디까지 참고했는지 펼쳐 보기처음 배우는 동안에는 열지 않아도 괜찮아요.
National Institute of Standards and Technology · 공개 문서를 확인했어요National Institute of Standards and Technology의 공식 원문 보기

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

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의 공식 원문 보기

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

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

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

Princeton University Algorithms, 4th Edition · 2026년 7월 28일에 확인했어요Princeton University Algorithms, 4th Edition의 공식 원문 보기

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

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

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

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

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

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

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

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

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

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

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

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

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