프로그래밍 기초 · 지금 할 수 있는 것

AI가 쓴 코드를 한 번 「검수」하세요

장 전체가 「코드는 안 써도 되지만, 검수는 할 줄 알아야 한다」고 했죠—오늘은 진짜로 한 번 검수해 보세요. 투입량에 따라 세 단계 중 하나 고르세요: 가장 가벼운 단계는 30분이면 끝나요. 일주일이면 검수를 업무 습관으로 만들 수 있어요. 단계마다 바로 쓸 수 있는 프롬프트가 있어요.

난이도 하나 고르고 · 오늘 바로 손대세요
🥉

과제 1 · AI에게 자백시키기

검수의 첫걸음: 코드는 안 보고, 먼저 자백을 심사

30분

AI가 이미 써 준 코드 한 토막을 가져오세요(없으면 AI에게 지금 「연락처 중복 제거」작은 도구를 쓰게 하세요: 이름+휴대폰 번호를 잔뜩 넣어 중복을 빼기). 그다음 아래 프롬프트를 던져, 어떤 수납 방식을 썼는지 스스로 자백하게 하세요.

방금 쓴 이 코드에 대해, 프로그래머가 아닌 나도 알아듣게 쉬운 말로 세 가지에 답해 주세요: 1. 이 데이터를 저장하는 데 어떤 자료구조를 썼나요? (배열, 해시 테이블, 아니면 다른 것?) 2. 왜 그걸 고르고 다른 건 버렸나요? 버린 대안을 최소 하나와 버린 이유를 말해 주세요; 3. 데이터량이 천 배(예: 100건 → 10만 건)로 늘면 이 코드는 얼마나 느려지나요? 어느 줄이 먼저 버티지 못하나요? 방금 선택이 사실 최적이 아니었다면 솔직히 말하고, 더 나은 버전을 주세요.
완료 기준: 「어떤 구조인지, 왜인지, 데이터가 늘면 어떻게 되는지」세 답을 자기 말로 남에게 전달할 수 있어야 해요—전달이 안 되면 AI에게 한 라운드 더 물어보세요.
🥈

과제 2 · 다른 수납으로 바꿔 달라고 하기

같은 기능 두 가지 구현, 장단점은 당신이 판정

반나절

과제 1 코드에 이어서, AI에게 다른 자료구조로 같은 기능을 다시 쓰게 하고 두 버전의 장단점 대조표를 만들게 하세요. 핵심은 마지막 단계: 결론은 AI가 내리지 말고, 당신이 판단해서 어느 버전이 당신 상황에 맞는지 고르세요.

방금 이 기능을 다른 자료구조로 다시 구현해 주세요(예: 원래 배열이면 해시 테이블/Set으로, 원래 해시 테이블이면 배열로). 그다음: 1. 두 버전의 전체 코드를 붙여 넣고, 핵심 줄에 「여기서 뭘 하는지」주석을 달아 주세요; 2. 장단점 대조표를 만들고, 최소 네 차원으로 비교하세요: 조회 속도, 삽입 속도, 메모리 사용, 코드 가독성; 3. 각각 설명: 어떤 상황에서 버전 A가 나은지, 어떤 상황에서 버전 B가 나은지, 구체 예시를 하나씩(데이터량 규모, 연산 빈도); 4. 결론은 대신 내리지 말고, 판단은 나에게 남겨 주세요. 내 상황은: (실제 상황을 적으세요. 예: 「개인 도구, 데이터 최대 수백 건」또는 「수만 명에게 온라인으로 쓸」)
완료 기준: 자기 상황을 바탕으로 선택했고, 「데이터량이 X이고 가장 잦은 연산이 Y라서 이걸 골랐다」고 말할 수 있어야 해요—이 문장이 안 나오면 판단은 아직 AI가 대신 한 거예요.
🥇

과제 3 · 내 프로젝트에 선정하기

먼저 스스로 고르고, AI와 답을 맞춰 보기

1주일

손에 있는 실제 수요 하나를 고르세요(업무 프로젝트든 개인 도구든 상관없어요). AI에게 먼저 묻지 마세요—ds-summary의 「어떻게 찾을지 / 어떻게 들락날락할지」결정 심법으로 자료구조를 스스로 고른 뒤, AI에게 독립적으로 선정안을 내라고 해서 둘이 맞는지 비교하세요. 아래 자가 점검 목록을 먼저 통과해 상황을 정리한 뒤 손대세요.

📋 선정 전 자가 점검 (전부 체크한 뒤 AI에게 묻기)
데이터는 얼마나 커질까? 지금 수백 건인지 나중에 백만 건인지—규모가 모든 걸 결정해요
가장 잦은 연산은 조회인가 삽입인가? 읽기 많음과 쓰기 많음은 답이 완전히 달라요
순서를 유지해야 하나? 시간/순위 정렬이 필요하면 많은 구조가 바로 탈락해요
중복 제거가 필요한가? 처음부터 중복이 안 생기는 건 Set/해시의 홈그라운드예요
캐시를 올릴 가치가 있나? 같은 조회가 반복되면 ds-6의 보이지 않는 할인을 떠올리세요
🎉 다섯 질문을 다 정리했어요—대부분의 엔지니어가 건너뛰는 그 단계를 이미 끝낸 거예요. 이 다섯 답을 들고 AI에게 물으면, 받는 방안 품질이 한 단계 올라가요.
실제 수요에 대해 자료구조 선정을 해야 합니다. 저는 이미 스스로 골랐어요. 아직 답을 주지 말고, 아래 흐름으로 진행해 주세요: 내 수요: (한 줄 설명. 예: 회사 SKU 5000개용 재고 조회 도구) 내 상황 파라미터: 데이터량 약 X건, 가장 잦은 연산은 X, 순서 필요?: X, 중복 제거 필요?: X, 같은 조회가 반복?: X 부탁: 1. 독립적으로 선정안을 주세요(어떤 구조로 저장할지, 왜인지)—제가 뭘 골랐는지는 아직 묻지 마세요; 2. 제 데이터량에서의 성능 추정(조회 한 번/삽입 한 번이 대략 얼마나 빠른지); 3. 데이터량이 10배 늘면 방안을 바꿔야 하는지, 어떻게 바꾸는지. 답하신 뒤에 제 선택을 공개하고 답을 맞춰 볼게요: 일치하면 서로 검증, 불일치하면 누구 이유가 더 탄탄한지 토론합니다.
완료 기준: AI와 선정이 일치하거나(상호 검증 성공), 불일치해도 토론에서 상대 이유를 듣고 자기 이유를 말할 수 있으면—둘 다 승리예요. 처음부터 끝까지 스스로 고른 적이 없는 게 실패예요.
왜 순서가 「먼저 스스로 고르고, 그다음 AI에게」인가요? 반대면 AI 답이 순간적으로 당신의 사고를 덮어써요. 원래 뭘 골랐을지 영원히 모릅니다. 검수 능력은 「내가 고른 것과 그게 고른 게 다른데, 왜?」라는 틈에서 자라요.
덤으로 기억 · 검수할 때 빨간 깃발 신호 세 가지

과제를 하다 AI 답변에서 이 세 신호가 보이면, 한 라운드 더 물어볼 가치가 있어요.

🚩
루프 안에 루프를 넣어 찾기

이중 for로 하나씩 비교하는 건 ds-1의 「큰 서랍 안 큰 서랍」이에요. 한 번 물어보세요: 「Set/해시 테이블로 바꾸면 더 빠르지 않을까?」

🚩
뭘 버렸는지 말하지 못함

대안을 물으면 현재 선택만 칭찬하고 버린 옵션을 대지 못해요—선정을 한 게 아니라 기본 출력을 한 것이에요.

🚩
작은 데이터로만 데모

데모가 10건에서 날아다니는 건 아무 의미가 없어요. 늘 물어보세요: 「데이터가 천 배면 어떻게 되지?」—이 장의 가장 값진 한 문장이에요.

✅ 이 강의가 전하고 싶은 것