- 파이썬 심화 다음 과정
- 초등 고학년·중학생
- 전담 선생님 1:1
- 정보영재·올림피아드 기본기
게임으로 배우는 파이썬 자료구조와 알고리즘
파이썬 문법을 배운 아이가 다음으로 만나는 32차시 1:1 화상수업입니다. 같은 답을 구하는 방법이 여러 개일 때 어느 쪽이 나은지 견줘 보고, 자료가 천 개, 만 개로 늘어나도 버티는 풀이를 골라 직접 Python 코드로 씁니다. 정보영재원과 올림피아드 문제에 나오는 재료를 여기서 처음 손에 쥡니다.
크리스탈 탐험대 세 번째 이야기, 구조의 도시
- 주 1회 40분
- 월 4회
- 전담 선생님과 1:1
- 16개 주제 · 32차시
STORY BECOMES PLAY
만화로 배우던 학습지, 기억하시나요? 이제는 게임형 자료구조·알고리즘 수업입니다
이야기와 캐릭터를 따라가면 자연스럽게 공부가 되던 학습 만화의 장점을, 화면 안의 탐험과 실제 파이썬 코드 작성으로 이어 갑니다. 이번 과정은 파이썬 심화를 마친 아이가 같은 문제의 여러 풀이를 견주고 더 나은 쪽을 고르는 세 번째 단계입니다.


- 스토리로 개념 이해

- 빈칸 채우기

- 따라하며 코드 작성

- 연습문제로 실력 완성

네 장면 모두 4차시 ‘번호 서가’의 실제 화면입니다. 3차시에서 칸을 하나씩 열어 871번째에서야 설계도를 찾은 정본 할머니가, 이번에는 번호가 순서대로 붙은 서가에서 절반씩 지워 가며 찾는 법을 배우는 차시입니다.
GIFTED · OLYMPIAD
정보영재원과 올림피아드로 가는 길, 기본기는 여기서 쌓습니다
문제의 조건을 분석하고, 풀이 방법을 비교하고, 제한된 시간 안에 답을 구하는 코드를 씁니다. 정보영재원 문제와 정보올림피아드 문제가 요구하는 것이 바로 이것입니다. 구조의 도시는 탐색·정렬부터 재귀·동적 계획법·그래프까지, 그 문제들을 풀 때 꺼내 쓰는 재료를 32차시에 걸쳐 처음 손에 쥐게 하는 과정입니다.
출력·변수·조건·반복·함수. 코드를 처음 씁니다.
재귀·클래스·예외·자료구조로 프로그램 한 벌을 완성합니다.
같은 문제의 여러 풀이를 견주고 더 나은 쪽을 고릅니다.
기출과 시간 제한 연습으로 실전 문제를 풉니다.
조건과 자료의 크기를 먼저 읽습니다
무엇을 구해야 하는지, 자료가 열 개인지 십만 개인지 보고 나서 풀이를 고릅니다. 1차시부터 문제마다 입력 크기를 명시합니다.
왜 이 풀이인지 말로 설명합니다
답만 맞히고 넘어가지 않습니다. 선생님이 “왜 이 자료구조를 골랐니”, “입력이 커져도 괜찮을까”를 묻습니다.
풀이가 깨지는 경우를 직접 찾습니다
24차시 저울추 시장에서는 그리디가 틀리는 반례를, 20차시 기준석 광장에서는 퀵 정렬이 가장 느려지는 입력을 아이가 만들어 봅니다.
대회 준비 과정에서 다루는 백트래킹(N-Queen), 해시 충돌, 이진 탐색 트리, LCS, 문제 유형 판별까지 32차시 안에 들어 있습니다. 대회 기출 풀이와 시간 제한 연습, 영재원 전형 준비는 이 과정 뒤에 별도로 이어집니다.
NEXT STEP
문법을 배웠으면, 다음은 풀이를 고르는 연습입니다
반복문을 안다고 문제가 풀리지는 않습니다. 무엇부터 확인할지, 어떤 순서로 계산할지 정해야 첫 줄을 쓸 수 있습니다.
여기까지가 입문과 심화입니다
조건문과 반복문, 함수로 원하는 동작을 코드에 옮기는 단계입니다. 심화에서는 재귀·클래스·예외 처리·자료구조로 프로그램 한 벌을 완성했습니다.
이 과정에서 달라지는 것
답을 맞히는 데서 끝내지 않고 풀이를 견줍니다. 자료가 열 개일 때는 어느 방법이든 되지만 만 개가 되면 갈립니다. 아이는 왜 그 방법을 골랐는지 선생님에게 설명해 봅니다.
WHY ALGORITHMS
1,024칸을 다 열어 볼까요, 절반씩 지워 나갈까요
1부터 1,024까지 번호가 순서대로 붙은 칸에서 맨 뒤 1,024번 칸을 찾습니다. 답은 같은데 열어 보는 칸의 수가 아흔 배 넘게 벌어집니다. 이 차이를 아는 것이 알고리즘을 배우는 이유입니다.
앞에서부터 하나씩 열면
1,024번맨 뒤에 있으니 끝까지 다 열어 봐야 합니다.
가운데를 열고 절반을 지우면
11번찾는 번호가 가운데보다 크면 앞쪽 절반은 볼 이유가 없습니다. 남은 쪽에서 같은 일을 반복합니다.
직접 눌러 보세요. 한 번 누를 때마다 남은 칸의 가운데를 엽니다
찾는 번호는 1,024입니다. 파란 막대가 아직 열어 볼 후보 칸입니다.
남은 후보 1~1,024번 · 1,024개
아직 아무 칸도 열지 않았습니다. 1,024개가 모두 후보입니다.
남은 후보 513~1,024번 · 512개
1번째로 가운데인 512번 칸을 열었습니다. 찾는 1,024는 512보다 크니 1~512번은 볼 필요가 없습니다. 후보가 절반인 512개로 줄었습니다.
남은 후보 769~1,024번 · 256개
2번째로 남은 칸의 가운데인 768번을 열었습니다. 역시 1,024가 더 크니 513~768번도 지웁니다. 후보 256개.
남은 후보 897~1,024번 · 128개
3번째로 896번을 열었습니다. 897~1,024번만 남았습니다. 후보 128개.
남은 후보 961~1,024번 · 64개
4번째로 960번을 열었습니다. 후보 64개. 처음의 16분의 1입니다.
남은 후보 993~1,024번 · 32개
5번째로 992번을 열었습니다. 후보 32개.
남은 후보 1,009~1,024번 · 16개
6번째로 1,008번을 열었습니다. 후보 16개.
남은 후보 1,017~1,024번 · 8개
7번째로 1,016번을 열었습니다. 후보 8개.
남은 후보 1,021~1,024번 · 4개
8번째로 1,020번을 열었습니다. 후보 4개. 1,024개에서 여기까지 여덟 번 만에 왔습니다.
남은 후보 1,023~1,024번 · 2개
9번째로 1,022번을 열었습니다. 후보 2개.
남은 후보 1,024번 · 1개
10번째로 1,023번을 열었습니다. 이제 1,024번 칸 하나만 남았습니다.
찾았습니다
11번째로 1,024번 칸을 열었습니다. 앞에서부터 하나씩 열었다면 1,024번, 가운데부터 절반씩 지우니 11번입니다. 4차시 ‘번호 서가’에서 아이가 이 코드를 씁니다.
LESSON 04
4차시 ‘번호 서가’ 수업을 예로 들면
10부터 70까지 번호가 붙은 일곱 칸에서 60을 찾습니다. 코드를 쓰기 전에 그림을 보면서 열어 보지 않아도 되는 칸부터 지웁니다.
1. 가운데 칸은 40입니다
찾는 60이 더 큽니다. 번호가 순서대로 놓여 있으니 40보다 앞쪽 세 칸은 열어 볼 이유가 없습니다.
2. 남은 세 칸의 가운데는 60입니다
40과 60, 두 번 열어 보고 찾았습니다. 이렇게 절반씩 지워 가며 찾는 방법을 이진 탐색이라고 합니다.
여기까지 이해했으면 코드를 씁니다. 그다음이 이 수업의 본론입니다. 맨 앞 칸도 같은 코드로 찾아지는지, 아예 없는 번호를 찾으면 어떻게 되는지 조건을 바꿔 가며 확인합니다.
1:1 LIVE CLASS
1:1 화상수업은 이렇게 진행됩니다
주 1회 40분, 전담 선생님이 아이의 화면과 코드를 같이 봅니다. 앞 20분은 이야기와 개념, 따라 쓰는 코드, 퀴즈. 뒤 20분은 조건이 달라진 연습문제 두 개와 퀴즈입니다.
전담 선생님과 1:1
어디서 막혔는지 아이가 설명하지 못해도, 선생님이 화면과 코드를 보며 어느 줄에서 어긋났는지 짚습니다.
한 달 수업 일정
주 1회 40분, 월 4회
등장인물에게 무슨 일이 생겼고 무엇을 해결해야 하는지 확인합니다.
자료가 어떤 순서로 움직이는지 그림으로 먼저 잡습니다.
선생님과 함께 Python 코드를 한 벌 작성하고 실행합니다.
같은 개념, 다른 조건의 연습문제 두 개를 아이가 직접 풉니다.
자동 채점과 퀴즈로 헷갈린 부분을 짚고 넘어갑니다.
이해가 안 되면 그림으로 돌아갑니다
자료가 어떤 순서로 움직이는지 다시 짚어 본 다음 코드로 옮깁니다.
답이 나왔으면 조건을 바꿉니다
찾는 값을 바꾸거나 자료를 늘려 봅니다. 방법을 이해한 것인지 코드를 외운 것인지는 여기서 갈립니다.
검증된 선생님, 원하는 시간과 장소
전공과 경력으로 엄선한 선생님이 아이 일정에 맞춰 집에서 1:1로 지도합니다.
REAL SCREENS
게임 퀘스트에서 실제 Python 코드, 채점까지
아이가 실제로 보는 화면입니다. 4차시 ‘번호 서가’를 예로 들었습니다.

1. 게임 퀘스트에서 문제를 만나고
맵에서 정본 할머니를 만나 퀘스트를 받습니다. 그림을 보고 물음에 답하며 오늘 배울 개념을 잡습니다.

2. 수업 자료를 읽고 빈칸을 채우고
왼쪽 자료로 원리를 읽고, 오른쪽 코드의 빈칸에 들어갈 것을 아이가 채웁니다.

3. 정답 코드를 보며 따라 쓰고
왼쪽 정답 코드를 오른쪽에 직접 옮겨 씁니다. 실행해서 결과가 같은지 확인합니다.

4. 연습문제를 직접 풀고 채점 결과를 봅니다
새 자료로 처음부터 혼자 씁니다. 제출하면 통과 여부가 바로 뜨고, 막히면 AI 튜터 돌핀에게 힌트를 물을 수 있습니다.
32 LESSONS
32차시 동안 이런 문제를 풉니다
이름을 미리 외울 필요는 없습니다. 자료를 빨리 찾고, 큰 문제를 잘라 내고, 같은 계산을 두 번 하지 않는 연습을 하다 보면 거기에 그 이름이 붙습니다.
방금 한 일을 되돌리려면?
마지막에 넣은 것부터 꺼내는 스택을 클래스로 직접 만듭니다. 편집기의 되돌리기가 이 순서로 동작합니다.
계단을 오르는 방법은 모두 몇 가지일까?
계단이 하나 늘 때마다 처음부터 다시 세면 금방 손을 못 댑니다. 앞에서 구한 답을 적어 두고 꺼내 씁니다.
어느 길로 가야 할까?
통로의 연결을 표로 옮기고 목적지까지 가는 길을 찾습니다. 거쳐 가는 통로가 가장 적은 길과 통행료가 가장 싼 길을 따로 구해 비교합니다.
아래는 전부 실제 수업 자료에 있는 그림입니다.

안 되는 길은 끝까지 안 가 봅니다
어긋난 순간 돌아 나오면 여덟 갈래 중 네 갈래만 보고 답을 찾습니다.

한 번 구한 답은 적어 둡니다
같은 계산을 다시 하지 않으면 15번 부르던 것이 9번으로 줄어듭니다. 계산이 빨라진 게 아니라 두 번 하지 않은 것입니다.

통로가 적다고 빠른 길이 아닙니다
통로 넷은 나흘 반, 통로 여섯은 하루 반. 걸리는 시간의 합이 작은 길을 찾습니다.
탐색, 정렬, 스택, 큐, 트리, 재귀, 동적 계획법, 그래프. 이름이 아니라 쓰임새로 먼저 만납니다.
16 TOPICS · 32 LESSONS
16개 주제를 32차시로 배웁니다
한 주제에 2차시씩. 앞 차시에서 개념을 잡고, 뒤 차시에서 조건이 달라진 문제에 적용합니다. 스택과 큐는 클래스로 직접 만들어 본 다음에 파이썬 내장 도구를 씁니다.
코딩 문제 192개에는 설명용 자료, 따라 쓰기, 연습, 먼저 끝낸 학생용 배틀 문제가 모두 포함됩니다.
1차시 · 접수 창구 — 연산 횟수 세기시간복잡도
- 개념 코드가 몇 번 도는지 직접 센다
- 적용 최악의 경우 — 어디에 있을 때 가장 오래 걸리나
2차시 · 넘친 선반 — 입력이 커지면시간복잡도
- 개념 자료가 두 배가 되면 시간은 얼마나 느나
- 적용 O(1)·O(n)·O(log n)·O(n²) 표기와 비교
3차시 · 끝없는 복도 — 선형 탐색탐색
- 개념 처음부터 하나씩 확인해 찾는다
- 적용 순회 응용 — 개수 세기와 최댓값
4차시 · 번호 서가 — 이진 탐색탐색
- 개념 정렬돼 있으면 절반씩 줄이며 찾는다
- 적용 경계 처리 — 없는 값, 첫 위치
5차시 · 긁힌 서가 — 버블 정렬정렬 기초
- 개념 이웃끼리 비교해 바꾼다
- 적용 조기 종료와 교환 횟수
6차시 · 골라 넣는 방 — 선택·삽입 정렬정렬 기초
- 개념 선택 정렬 — 가장 작은 것을 골라 앞으로
- 적용 삽입 정렬 — 자리를 찾아 끼워 넣기
7차시 · 되돌리기 탑 — 스택 만들기스택
- 개념 클래스로 스택을 직접 만든다 (push·pop·peek)
- 적용 빈 스택 처리, __len__과 __str__
8차시 · 짝 맞추는 문 — 스택 쓰기스택
- 개념 괄호 검사
- 적용 되돌리기(Undo)와 수식 계산
9차시 · 밀린 줄 — 큐큐·덱
- 개념 먼저 온 순서대로 (FIFO) — enqueue·dequeue
- 적용 리스트 큐의 함정과 deque
10차시 · 양끝 창구 — 덱큐·덱
- 개념 양쪽에서 넣고 뺀다
- 적용 회전과 대기열 응용
11차시 · 이름 없는 골목 — 연결 리스트연결 리스트·해시
- 개념 노드와 next — 연결을 만들고 순회한다
- 적용 삽입·삭제 — 끊어진 고리 잇기
12차시 · 이름표 구역 — 해시연결 리스트·해시
- 개념 키로 바로 찾기 — 딕셔너리의 원리
- 적용 충돌 — 같은 칸에 둘이 오면
13차시 · 분류 계단 — 트리트리·순회
- 개념 루트·부모·자식·리프
- 적용 노드 클래스로 트리 만들기와 높이
14차시 · 세 갈래 순례길 — 순회트리·순회
- 개념 전위·중위·후위 재귀 순회
- 적용 합계, 리프 출력, 경로
15차시 · 기울어진 서가 — 이진 탐색 트리BST·힙
- 개념 BST 규칙과 탐색
- 적용 삽입과 편향의 함정 — 한쪽으로만 자라면
16차시 · 떠오르는 접수대 — 힙BST·힙
- 개념 최소 힙 규칙과 heapq
- 적용 우선순위 큐 — K번째, 작업 스케줄링
17차시 · 거울의 방 — 재귀재귀
- 개념 종료 조건과 재귀 호출
- 적용 호출 스택 — 되돌아오는 순서
18차시 · 겹겹의 상자 — 재귀 응용재귀
- 개념 재귀로 트리와 중첩 리스트 다루기
- 적용 재귀와 반복 비교, 깊이 한계
19차시 · 갈라지는 창고 — 병합 정렬분할 정복
- 개념 정렬된 두 리스트 합치기 (merge)
- 적용 병합 정렬
20차시 · 기준석 광장 — 퀵 정렬분할 정복
- 개념 기준(pivot)으로 좌우 가르기
- 적용 퀵 정렬과 최악의 경우
21차시 · 모든 문 — 완전 탐색완전 탐색·백트래킹
- 개념 모든 경우 만들기 — 부분집합
- 적용 순열과 조합
22차시 · 되돌아 나오는 서고 — 백트래킹완전 탐색·백트래킹
- 개념 가지치기 — 아니다 싶으면 되돌아온다
- 적용 N-Queen
23차시 · 마지막 하루 — 그리디그리디
- 개념 매 순간 최선 — 거스름돈
- 적용 회의실 배정 — 기준 정하기
24차시 · 저울추 시장 — 그리디의 반례그리디
- 개념 그리디가 틀리는 경우 찾기
- 적용 그리디 실전
25차시 · 두 번 걷지 않는 길 — 메모이제이션DP 기초
- 개념 겹치는 부분 문제 — 재귀 피보나치의 낭비
- 적용 한 번 계산한 건 기억한다
26차시 · 계단 세는 방 — 점화식DP 기초
- 개념 계단 오르기로 점화식 세우기
- 적용 반복문으로 바꾸기 (바텀업)
27차시 · 짐 싣는 부두 — 배낭 문제DP 심화
- 개념 배낭 문제
- 적용 무게와 가치를 함께 따지기
28차시 · 늘어나는 사슬 — LIS와 LCSDP 심화
- 개념 최장 증가 부분 수열 (LIS)
- 적용 두 기록의 공통 순서 (LCS)
29차시 · 통로 지도실 — 그래프 표현그래프 기초
- 개념 정점·간선·차수, 인접 행렬
- 적용 인접 리스트, 방향·무방향 그래프
30차시 · 갱도와 물결 — DFS와 BFS그래프 기초
- 개념 DFS — 재귀로 깊이 파고들기
- 적용 BFS — 큐로 층별 탐색, 최단 거리
31차시 · 통행료 길 — 최단 경로그래프 심화
- 개념 다익스트라 — 가중치와 힙
- 적용 최소 신장 트리 (크루스칼)
32차시 · 서고 심부 — 최종 통합그래프 심화
- 개념 문제의 신호를 읽고 유형을 판별한다
- 적용 배운 전략을 골라 쓰는 보스전 — 새 개념 없음
LEARNING CARE
수업이 끝난 뒤에도, 부모님이 학습 흐름을 확인할 수 있습니다
전담 선생님의 월 4회 수업, 학부모 리포트, 수업 없는 날의 AI 힌트가 한 과정으로 이어집니다.
전담 선생님과 1:1 화상수업
답이 나왔으면 조건을 바꿔 봅니다. 방법을 이해한 것인지 코드를 외운 것인지는 여기서 갈립니다.
수업 후 학부모 리포트
그날 무엇을 배웠는지 돌핀에듀 학부모 수업 리포트에서 확인합니다.
수업 없는 날의 AI 힌트
퀘스트를 복습하다 막히면 문제 화면의 AI 튜터 돌핀에게 힌트를 받을 수 있습니다.
이런 학생에게 권합니다
파이썬 입문과 심화를 마친 중학생이 주 대상입니다. 같은 만큼 배운 초등 고학년도 들을 수 있습니다.
이런 아이라면
- 예제 코드는 따라 쓰는데 혼자 풀 때는 어디서 시작할지 막히는 학생
- 파이썬으로 프로그램을 만들어 봤고 더 어려운 문제를 풀어 보고 싶은 학생
- 게임과 이야기를 좋아하면서 코딩 공부를 이어 가고 싶은 학생
- 정보영재원이나 올림피아드를 염두에 두고 기본기를 쌓으려는 학생
시작 전에 어느 정도 배워야 하나요?
조건문과 반복문으로 간단한 문제를 풀고, 함수·리스트·딕셔너리를 써 본 경험이 필요합니다. 클래스와 재귀의 기초까지 배운 학생이면 더 수월합니다.
파이썬이 처음이라면 입문과정부터 시작해 주세요. 학부모님께서 용어를 다 아실 필요는 없습니다. 아이가 어떤 과정을 어떤 교재로 배웠는지만 알려 주시면 됩니다.
신청 전에 확인할 수업 정보
| 항목 | 구조의 도시 1:1 화상수업 |
|---|---|
| 권장 대상 | 파이썬 입문·심화를 마친 중학생, 같은 만큼 배운 초등 고학년 |
| 시작 전 필요한 것 | 조건문·반복문으로 문제를 풀고 함수·리스트·딕셔너리를 써 본 경험. 클래스와 재귀 기초까지 배웠으면 더 수월합니다 |
| 수업 형태 | 전담 선생님과 1:1 실시간 화상 |
| 수업 횟수 | 월 4회 · 주 1회 40분 · 총 32차시 |
| 학습 도구 | 게임형 교재 · 실제 Python 에디터 · 자동 채점 |
| 수업 후 | 학부모 리포트 · AI 튜터 힌트 |
| 준비물 | PC 또는 노트북, 화상수업용 카메라와 마이크 |
아이에게 맞는지, 첫 수업에서 먼저 확인하세요
최초 1회 10,000원으로 전담 선생님과 문제 하나를 풀어 봅니다. 파이썬을 어디까지 배웠는지 알려 주시면 시작 지점을 맞춥니다.
최초 1회 1:1 체험수업
선생님과 이야기를 읽고, 그림으로 원리를 잡고, 직접 코드를 씁니다.
1:1 체험수업 신청하기체험에서 확인해 보세요
- 선생님과 편안하게 대화하는지
- 배운 문법으로 코드를 직접 입력하는지
- 왜 그 풀이를 골랐는지 말로 설명하는지
- 40분 수업 흐름이 아이에게 맞는지
수강 전에 자주 받는 질문
게임만 하다 끝나는 것 아닌가요?
한 차시마다 개념 설명, 따라 쓰는 코드, 연습문제 두 개, 퀴즈가 들어 있습니다. 게임 화면은 문제가 나오는 자리이고, 답은 아이가 Python으로 씁니다.
기존 파이썬 심화과정과 무엇이 다른가요?
심화과정이 문법과 프로그램 작성 범위를 넓히는 단계였다면, 이 과정은 같은 문제를 푸는 방법을 견주는 단계입니다. 심화에서 갖다 쓰기만 했던 스택과 큐도 여기서는 직접 만들어 보며 왜 그렇게 동작하는지 확인합니다.
초등학생에게 너무 어렵지 않을까요?
중학생을 기준으로 설계했습니다. 파이썬 심화까지 마친 초등 고학년이면 따라올 수 있습니다. 코딩이 처음이거나 블록코딩만 해 봤다면 파이썬 입문과정을 먼저 권합니다.
올림피아드 대비반인가요?
아닙니다. 대회 문제를 풀기 전에 필요한 자료구조와 알고리즘을 배우는 과정입니다. 기출 풀이와 시간 제한 연습, 영재원 전형 준비는 별도로 필요하며 수료가 선발이나 입상을 보장하지 않습니다.
32차시를 모두 같은 속도로 나가나요?
아이가 어려워하는 부분은 다시 짚기 때문에 차시마다 속도가 다릅니다. 먼저 끝낸 학생은 배틀 문제에 더 도전합니다. 전체 기간은 이해도에 따라 달라집니다.
체험수업은 무료인가요?
최초 1회 10,000원입니다. 신청 화면에서 날짜와 시간을 고르면 됩니다.
파이썬 다음 단계, 풀이를 고르는 힘을 기릅니다
탐색부터 그래프까지 32차시. 전담 선생님과 주 1회 40분 이어갑니다. 첫 1:1 체험수업은 10,000원입니다.
1:1 체험수업 신청하기


