1강 / 20강

알고리즘 — 순서가 있는 해결법

주문 한 건이 처리되는 열두 걸음

알고리즘 — 순서가 있는 해결법
알고리즘은 정해진 순서대로 밟으면 반드시 답이 나오는 절차입니다. 주문 처리도, 라면 끓이기도 똑같아요.

여러분이 운영하는 쇼핑몰에 방금 주문 한 건이 들어왔습니다. 결제 완료 · 무선 이어폰 1개 · 경주시 황성동.

이제 무슨 일이 일어나야 할까요? 잠깐 생각해 보세요. 재고를 빼야 하고, 송장을 만들어야 하고, 문자를 보내야 하고… 그런데 순서가 있습니다.

📥
입력
주문서 한 장
⚙️
절차
정해진 순서의 단계들
📤
출력
배송 시작된 택배

이렇게 입력을 받아 → 정해진 순서를 밟아 → 출력을 내놓는 절차를 알고리즘(algorithm)이라고 부릅니다. 어렵게 들리지만, 여러분이 이미 매일 쓰고 있는 것이에요. 라면 봉지 뒷면의 조리법도 알고리즘입니다.

주문 처리 절차를 코드로

아래 셀의 ▶ 실행 버튼을 눌러 보세요. 코드를 직접 고쳐서 다시 실행해도 됩니다. 설치할 것은 없습니다 — 파이썬이 여러분의 브라우저 안에서 돌아갑니다.

주문 처리 알고리즘의 가장 단순한 형태입니다.
Python 브라우저에서 실행

🎮 순서를 직접 바꿔 보세요

아래 위젯에서 주문 처리 단계를 드래그해서 순서를 바꿀 수 있습니다. 순서를 잘못 놓으면 실제로 어떤 사고가 나는지 시뮬레이션이 알려 줍니다. 재고 차감을 송장 발급 뒤로 옮겨 보세요. 무슨 일이 벌어질까요?

주문 처리 순서도 — 단계를 옮기면 어떤 사고가 나는지 보여 줍니다
불러오는 중…

같은 문제, 다른 알고리즘

중요한 사실 하나. 한 문제를 푸는 알고리즘은 하나가 아닙니다.

"창고에서 이어폰을 찾아라"라는 같은 문제를 두 사람이 이렇게 풉니다.

  • 신입 사원 — 1번 선반부터 차례대로 전부 뒤진다
  • 10년 차 관리자 — 상품 코드를 보고 해당 구역으로 바로 간다

둘 다 답은 찾습니다. 하지만 걸리는 시간이 다릅니다. 알고리즘 공부의 절반은 "답을 찾는 법", 나머지 절반은 "더 빨리 찾는 법"입니다. 이 강의도 그 두 가지를 배웁니다.

같은 답, 8걸음 vs 1걸음. 이 차이가 이 강의의 주제입니다.
Python 브라우저에서 실행

왜 시스템 관리자가 알고리즘을 알아야 할까요

여러분이 코드를 직접 짜지 않더라도, 쇼핑몰을 운영하다 보면 이런 순간이 옵니다.

현장에서 벌어지는 일사실은 이 알고리즘 문제배울 강
상품이 3만 개 되니까 검색이 5초 걸려요탐색 · 인덱스4·5강
"인기순 정렬"이 자꾸 이상하게 나와요다중 기준 정렬 · 안정성7강
세일 시작 1분 만에 서버가 멈췄어요트래픽 제어 · 큐11·17강
쿠폰을 잘못 조합해서 손해가 났어요탐욕 알고리즘의 한계12강
같은 페이지를 왜 매번 새로 만들죠?캐시 · LRU16강
카드 도용 주문을 어떻게 걸러내죠?이상 탐지 · 임계값18강

알고리즘을 알면 이 문제들이 "서버를 더 좋은 걸로 바꿔야 하나"가 아니라 "어느 단계를 어떻게 고치면 되는 문제"로 보이기 시작합니다.

🤔 확인 문제
다음 중 알고리즘이라고 부를 수 없는 것은?
🤔 확인 문제
주문 처리에서 재고 차감을 결제 승인보다 뒤에 두면 생기는 문제는?
🤔 확인 문제
"한 문제를 푸는 알고리즘은 여러 개다"라는 말의 의미로 가장 알맞은 것은?