설명하려고 보니, 이번 주 배운 것들이 한 줄로 묶이기 시작했다

이번 주는 트리와 그래프를 다시 붙잡았고,
문제에 꽂아 보면서 구조를 읽는 연습을 했고,
정글베이직 시리즈로 문법을 설명 가능한 문장으로 정리했고,
마지막에는 Virtual DOM과 Diff를 직접 구현해 봤다.
많이 한 주라기보다, 흩어져 있던 것들이 조금씩 연결되기 시작한 주였다.
WIL

문제해결
이진 트리, BST, 그래프, BFS, DFS, 위상 정렬을 다시 봤다. 예전에는 각각 따로 외워야 하는 개념처럼 느껴졌는데, 이번에는 조금 다르게 보였다. 결국 핵심은 무엇을 어떤 순서로 방문하느냐였다. 트리 순회도 방문 시점의 차이였고, BFS도 큐라는 형식 위에서 움직이는 탐색이었고, 위상 정렬도 순서를 만들어 내는 그래프 읽기였다.
특히 이번 주에는 개념에서 멈추지 않고 계속 문제에 꽂아 넣어 봤다. 같은 BFS라도 미로 탐색에서는 최단거리로 읽혔고, 부모 찾기에서는 관계 기록으로 읽혔고, 연결 요소에서는 전체를 끝까지 훑는 탐색으로 읽혔다. 알고리즘 이름을 외우는 것보다 문제를 구조로 읽는 일이 더 중요하다는 걸 이번 주에 훨씬 분명하게 느꼈다.
설계
정글베이직 시리즈를 밀면서 문법을 다시 봤다. 그런데 이번에는 문법을 한 번 더 외우는 느낌이 아니었다. 변수, 문자열, 리스트, 딕셔너리, 조건문, 반복문, 함수, 입출력, 파일, 예외, 모듈, 정규표현식까지 다시 훑었는데, 남은 건 규칙보다 기준이었다. 언제 리스트가 맞고 언제 딕셔너리가 맞는지, 언제 for가 덜 흔들리고 언제 while이 맞는지, 왜 with 문이 필요한지 같은 기준이 조금씩 문장으로 남기 시작했다.
알고 있다고 생각했던 것들은 설명하려고 할 때 제일 많이 흔들렸다. 메서드 이름을 안다고 끝나는 게 아니었다. 왜 여기서는 슬라이싱이 더 읽히는지, 왜 여기서는 함수로 빼야 하는지, 왜 여기서는 예외 처리가 필요한지까지 말할 수 있어야 그제야 내 것이 됐다. 이번 주는 문법을 다시 본 주가 아니라, 설명 가능한 상태로 다시 세운 주에 가까웠다.
구현
이번 주 끝에서는 Virtual DOM과 Diff를 직접 구현했다. 평소에는 React가 빠르다, Diff가 효율적이다 정도로만 알고 있던 걸 직접 코드로 내려가 보니 다른 게 보였다. 중요한 건 무조건 빠르다는 말이 아니었다. 왜 완벽한 비교 대신 규칙 기반의 타협을 선택하는지, 왜 key가 필요해지는지, 왜 결국 렌더링 비용을 줄이는 방향으로 설계가 기울어지는지가 더 크게 남았다.
개념을 보고, 문제에 넣어 보고, 설명해 보고, 마지막에는 직접 구현으로 확인했다. 이번 주 전체 흐름도 이랬다. 그래서 이번 주는 따로 떨어져 있는 글을 많이 쓴 주라기보다, 흩어져 있던 것들이 한 줄로 묶이기 시작한 주라는 말이 더 맞다.
협업
워크숍에서는 Clean Email을 만들었다. AI가 빨라지면 협업도 같이 빨라질 줄 알았는데, 실제로는 기준 없이 달릴수록 더 빨리 부딪혔다. 누가 어떤 구조를 잡고 있는지, 어디까지를 같은 모듈로 보는지, 무엇을 먼저 맞춰야 하는지가 훨씬 중요했다. 속도보다 먼저 필요한 건 정리된 기준이었다.
또 하나 남은 건 설명이었다. 설명하다가 막히는 부분이 있었다. 그 지점이 내가 정확히 모르는 부분이었다. 이번 주에는 코드나 글보다도, 설명이 내 이해를 들키게 만드는 도구라는 걸 더 분명하게 느꼈다.
10대 핵심강점 변화

| 핵심강점 | 이번 주 변화 |
|---|---|
| 문제해결 | 문제를 보자마자 코드부터 떠올리기보다, 먼저 이게 어떤 구조인지부터 보게 됐다. |
| 설계 | 큐를 쓸지, 재귀를 탈지, 진입 차수를 잡을지처럼 설계 문장이 먼저 잡혀야 구현이 덜 흔들렸다. |
| 구현 | 정글베이직 시리즈를 끝까지 밀었고, 문제풀이를 계속 쌓았고, 마지막에는 직접 구현까지 내려갔다. |
| 품질 | 방문 체크 위치 하나, 종료 조건 하나, 반복문 선택 하나가 결과를 크게 바꾼다는 걸 다시 느꼈다. |
| 유지보수 | 정의 → 핵심 감각 → 예제 → 주의점 흐름으로 정리하니 글도 코드도 다시 보기 쉬워졌다. |
| 협업 | AI가 빨라질수록 사람끼리 먼저 기준과 구조를 맞추는 일이 더 중요하다는 걸 배웠다. |
| 태도 | 눈으로 읽고 넘기지 않고 직접 쳐 보고, 설명이 안 되면 다시 보는 쪽으로 루틴이 옮겨갔다. |
| 비즈니스 이해 | 기술적으로 만들 수 있다는 것과 실제로 쓸 이유가 있다는 것은 다르다는 걸 프로젝트에서 다시 느꼈다. |
| AI 활용 | AI는 속도를 올려 줬지만, 방향까지 대신 정해 주지는 않았다. 구조는 결국 내가 먼저 잡아야 했다. |
| 학습 민첩성 | 트리, 그래프, 파이썬, 프론트엔드 내부 구현까지 넓게 갔지만 전부 구조를 읽는 문제로 연결되면서 더 빨리 흡수됐다. |
체크리스트
이번 주 체크리스트는 글을 쓴 순서대로 세우지 않았다. 베이직에서 무엇을 다시 잡았는지, 문제풀이에서는 그걸 어디에 꽂아 봤는지, 정글베이직 시리즈에서는 무엇을 설명 가능한 문장으로 만들었는지, 마지막 구현에서는 무엇이 남았는지 보이도록 다시 묶었다. 이렇게 놓고 보니 이번 주가 그냥 많이 한 주가 아니라, 구조를 다시 잡고, 문제에 꽂아 보고, 시리즈로 정리하고, 마지막에는 구현으로 내려간 주였다는 게 더 분명하게 보였다.
1. 정글 알고리즘 · 베이직
| 상태 | 구분 | 제목 | 이번 주 체크 포인트 |
|---|---|---|---|
| ✅ | 베이직 · 트리 | 이진 트리와 순회 정리 | 전위·중위·후위를 따로 외우는 대신 방문 시점의 차이로 다시 묶였다. |
| ✅ | 베이직 · 트리 | BST 성질과 탐색 흐름 | 정렬 성질을 이용해 범위를 줄여 가는 탐색 흐름이 이제는 구조로 읽힌다. |
| ✅ | 베이직 · 그래프 | 그래프 기본 개념과 인접 리스트 | 문제를 그래프로 바꾸는 순간부터 풀이가 시작된다는 감각을 다시 확인했다. |
| ✅ | 베이직 · 그래프 | BFS 기본기 | 큐를 왜 쓰는지, 처음 도착한 값이 왜 최단거리인지 다시 손에 붙였다. |
| ✅ | 베이직 · 그래프 | DFS 기본기 | 재귀와 스택이 다른 말이 아니라 같은 흐름이라는 점을 다시 확인했다. |
| ✅ | 베이직 · 그래프 | 위상 정렬 | 순서를 정하는 문제는 결국 DAG와 진입 차수 관리라는 문장으로 정리됐다. |
2. 정글 알고리즘 · 문제풀이
| 상태 | 구분 | 제목 | 이번 주 체크 포인트 |
|---|---|---|---|
| ✅ | 문제 · 중 | 미로 탐색 | 가중치 없는 최단거리를 BFS로 읽는 감각이 실제 문제에서 더 분명해졌다. |
| ✅ | 문제 · 중 | 동전 문제를 BFS로 풀어보기 | DP로만 보던 문제도 상태 전이 그래프로 읽어 볼 수 있다는 감각이 남았다. |
| ✅ | 문제 · 중 | 트리의 부모 찾기 | 방문 처리와 부모 기록을 함께 가져가는 구조가 더 짧은 문장으로 잡혔다. |
| ✅ | 문제 · 중 | DFS와 BFS | 같은 그래프라도 탐색 순서와 자료구조가 어떻게 결과를 바꾸는지 다시 확인했다. |
| ✅ | 문제 · 중 | 연결 요소의 개수 | 한 번의 탐색으로 끝나는 게 아니라 그래프 전체를 끝까지 보는 감각이 필요했다. |
| ✅ | 문제 · 중 | 이진 검색 트리 | 입력된 수열을 다시 트리 구조로 읽어야 풀리는 문제라는 점이 선명하게 남았다. |
| ✅ | 문제 · 중 | 작업 | 선행 관계 위에 누적 시간 계산이 얹히는 구조를 위상 정렬과 함께 정리했다. |
| ✅ | 문제 · 중 | Level Order Traversal | 큐 길이를 이용해 레벨을 나누는 패턴이 이제는 자연스럽게 읽힌다. |
| ✅ | 문제 · 하 | Maximum Depth of Binary Tree | 같은 문제를 DFS와 BFS 둘 다로 읽어 보면서 표현 차이를 다시 확인했다. |
| ✅ | 문제 · 하 | Average of Levels in Binary Tree | 탐색 결과를 집계 계산으로 이어 붙이는 흐름을 한 번 더 손에 익혔다. |
3. 파이썬 총정리 제작
| 상태 | 구분 | 제목 | 이번 주 체크 포인트 |
|---|---|---|---|
| ✅ | 시리즈 시작 | 프로그래밍 감각부터 잡기 | 문법 암기보다 감각과 설명 가능성을 중심에 두고 시리즈를 열었다. |
| ✅ | 기초 문법 | 변수와 기본 자료형 | 값이 저장되고 다뤄지는 가장 기본 단위를 다시 정리했다. |
| ✅ | 기초 문법 | 문자열 | 인덱싱, 슬라이싱, 메서드를 외우는 게 아니라 흐름으로 다시 묶었다. |
| ✅ | 기초 문법 | 리스트와 튜플 | 변경 가능과 불가능의 차이를 사용 맥락과 함께 적어 둘 수 있게 됐다. |
| ✅ | 기초 문법 | 딕셔너리와 셋 | 키-값 구조와 중복 제거를 실전 사용 감각으로 다시 붙였다. |
| ✅ | 흐름 제어 | Boolean과 조건문 | 흐름 제어는 결국 조건을 어떻게 읽고 자르느냐의 문제라는 걸 다시 적었다. |
| ✅ | 흐름 제어 | while과 for 반복문 | 언제 while을 쓰고 언제 for를 써야 덜 흔들리는지 기준을 남겼다. |
| ✅ | 함수 | 함수의 기본 구조 | 입력, 처리, 반환이라는 가장 기본 뼈대를 다시 정리했다. |
| ✅ | 입출력 | 입력과 출력 | 값이 들어오고 나가는 흐름을 가장 기초부터 다시 잡았다. |
| ✅ | 파일 처리 | 파일 읽기와 쓰기 | open, read, write, with 문이 왜 필요한지 실용적인 맥락으로 다시 적었다. |
| ✅ | 예외와 모듈 | 예외 처리와 모듈 | 안 터지는 코드와 다시 쓰는 코드를 만드는 기본기를 정리했다. |
| ✅ | 문자열 처리 | 정규표현식 | 문자열을 규칙으로 다루는 사고방식을 기초 수준에서 다시 붙였다. |
| ✅ | 외전 | 메서드·함수·라이브러리·핵심 개념 총정리 | 자주 쓰는 메서드와 함수, 라이브러리, 핵심 개념을 실전 흐름으로 한 번 더 묶어냈다. |
4. 직접 구현 (수요 코딩회)
| 상태 | 구분 | 제목 | 이번 주 체크 포인트 |
|---|---|---|---|
| ✅ | 프론트엔드 내부 | Virtual DOM과 Diff 알고리즘 직접 구현하기 | 왜 빠른가보다 왜 이런 구조와 타협이 필요한지가 더 크게 남았다. |


이렇게 놓고 보니 이번 주는 그냥 많이 한 주가 아니었다. 베이직을 다시 잡았고, 문제에 꽂아 봤고, 시리즈로 정리했고, 마지막에는 구현으로 내려갔다. 설명하려고 할수록 비어 있는 부분이 보였고, 직접 내려가 볼수록 내가 이해한 것과 아직 헷갈리는 것이 더 분명해졌다.

이번 주는 많이 한 주라기보다,
배운 걸 설명 가능한 형태로 묶어 본 주였다.
구조가 보이기 시작하니까 어디서 틀리는지도 같이 보이기 시작했다.
다음 주도 잘 틀리겠습니다. 🌱
'크래프톤 정글 > TIl _ WILL' 카테고리의 다른 글
| 크래프톤 정글 — Week 7 WIL (2) | 2026.04.16 |
|---|---|
| 크래프톤 정글 — Week 6 WIL (1) | 2026.04.09 |
| 크래프톤 정글 — Week 5 WIL (0) | 2026.04.02 |
| 크래프톤 정글 — Week 3 WIL (0) | 2026.03.19 |
| 🌿크래프톤 정글 2주차 WIL — 배운 것들의 기록 (1) | 2026.03.12 |