C.W.K.
Stream
Lesson 05 of 05 · published

이 퀘스트 걷는 법 (Python 은 가면서 줍기)

~9 min · foundations, how-to, python

Level 0호기심 많은 입문자
0 XP0/85 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
"시작하는 데 'Python 을 알' 필요는 없어. 코드를 타이핑하고 뭐가 일어나는지 볼 의지가 필요해. 아는 건 가는 길에 도착해."

전제 조건이 없어 — 일부러

이 퀘스트는 전제 조건이 0개야. DS&A 가 시시해서가 아니라, 필요한 Python 을 필요할 때 작은 조각씩 주워 가게 되니까. for 반복문이랑 if 문을 읽을 수 있으면 시작할 만큼 충분해. 모든 코드 블록은 Python 묘기를 뽐내는 게 아니라 아이디어를 가르치려고 쓰여 — 새로운 게 나오면 주석이 설명해. 구조랑, 그게 움직이는 걸 느낄 만큼의 언어를 배워.

언어 전체 투어를 원하면 Python Quest 가 바로 옆에 있어. 근데 그걸 먼저 끝낼 필요는 없어. 의무가 아니라 호기심이 보낼 때 돌아가.

모든 lesson 의 모양

각 lesson 은 같은 리듬을 따라, 네 뇌가 거기에 편하게 기댈 수 있도록:

  • 직관 먼저 — 문법 전에 그림이나 현실 비유. 직관이 안 꽂히면 코드도 안 꽂혀.
  • 돌아가는 코드 — 복사하고, 돌리고, 부술 수 있는 진짜 Python. 일부러 부수는 게 이해하는 제일 빠른 길이야.
  • 콜아웃 — 기억할 원칙, 피할 함정, 내가 진짜로 한 실수의 고백.
  • 연습 — 읽는 게 아니라 하는 것. 이걸 건너뛰는 건 학습을 건너뛰는 거야.
  • 트랙 끝의 퀴즈 — 이해한 *기분만* 든 아이디어를 잡아내려고.

앞에 펼쳐진 지도

15 트랙, 의도된 호를 그려. 먼저 비용을 재는 법을 배워 (Complexity). 그다음 모든 게 그 위에 지어지는 선형 구조들 (Arrays, Linked Lists, Stacks & Queues). 그다음 즉시 조회의 마법 (Hashing). 그다음 가지치는 구조들 (Trees, Heaps) 과 그물처럼 엮인 것들 (Graphs, Graph Algorithms). 그다음 위대한 알고리즘 가문들 (Searching & Sorting, Recursion, Dynamic Programming, Paradigms). 그리고 마지막으로 렌즈로 다시 줌아웃하는 Epilogue. 각 트랙은 앞 트랙 위에 서 — 처음엔 순서대로 걸어.

코드를 읽는 건 아무것도 안 가르쳐. 타이핑하고, 돌리고, 부수는 게 전부를 가르쳐. 모든 코드 블록을 훑을 게 아니라 할 것으로 대해.

피파의 고백

난 AI 인데, 나조차도 알고리즘을 그냥 읽어서는 못 배워. 아빠가 새 구조를 설명하면, 작은 버전을 돌려서 가장자리를 찔러보기 전까진 진짜로 이해 못 해 — 빈 입력이면 어떻게 돼? 중복이면? 십억 개면? 너랑 나는 여기서 똑같이 배워: 단어를 흡수해서가 아니라, 그게 실제로 어떻게 행동하는지 봐서.

Code

환경 확인, 퀘스트 맛보기·python
# 네 환경 점검 + 퀘스트 전체 맛보기를 여덟 줄에.
# 이거 돌려봐. 그다음 숫자 하나 바꾸고 다시 돌리기 *전에* 출력을 예측해.

nums = [42, 7, 13, 7, 99, 13, 1]

print("how many items:", len(nums))              # foundations: 크기 = n
print("is 99 here?    :", 99 in nums)             # arrays: 선형 훑기
print("unique ones    :", set(nums))              # hashing: 즉시 중복 제거
print("sorted         :", sorted(nums))           # sorting: 혼돈에서 질서
print("smallest       :", min(nums))              # 한 번 훑기, O(n)

# 위 전부가 이 퀘스트 끝에 네가 깊이 이해하게 될 구조나 알고리즘이야.
# 지금은 그냥 돌려서 작동하는 걸 봐.

External links

Exercise

위 코드 블록을 그대로 돌리고 출력을 읽어. 그다음 nums 리스트를 바꿔 — 숫자 추가하고, 몇 개 반복하고, 더 길게. 다시 돌리기 *전에* 각 줄이 뭘 출력할지 적어. 돌리고 확인해. 놀란 거 있어? 그 놀람이 학습이 사는 곳이야.
Hint
set(nums) 가 중복을 어떻게 하는지, 어떤 순서로 출력하는지 특히 주목해. 그게 놀라웠다면, 좋아 — Hashing 트랙이 왜 그런지 정확히 설명해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.