알고리즘 — 순서가 있는 해결법
주문 한 건이 처리되는 열두 걸음
알고리즘은 정해진 순서대로 밟으면 반드시 답이 나오는 절차입니다. 주문 처리도, 라면 끓이기도 똑같아요.
여러분이 운영하는 쇼핑몰에 방금 주문 한 건이 들어왔습니다.
결제 완료 · 무선 이어폰 1개 · 경주시 황성동.
이제 무슨 일이 일어나야 할까요? 잠깐 생각해 보세요.
재고를 빼야 하고, 송장을 만들어야 하고, 문자를 보내야 하고… 그런데 순서가 있습니다.
이렇게 입력을 받아 → 정해진 순서를 밟아 → 출력을 내놓는 절차를
알고리즘(algorithm)이라고 부릅니다. 어렵게 들리지만,
여러분이 이미 매일 쓰고 있는 것이에요. 라면 봉지 뒷면의 조리법도 알고리즘입니다.
주문 처리 절차를 코드로
아래 셀의 ▶ 실행 버튼을 눌러 보세요. 코드를 직접 고쳐서 다시 실행해도 됩니다.
설치할 것은 없습니다 — 파이썬이 여러분의 브라우저 안에서 돌아갑니다.
주문 처리 알고리즘의 가장 단순한 형태입니다.
🎮 순서를 직접 바꿔 보세요
아래 위젯에서 주문 처리 단계를 드래그해서 순서를 바꿀 수 있습니다.
순서를 잘못 놓으면 실제로 어떤 사고가 나는지 시뮬레이션이 알려 줍니다.
재고 차감을 송장 발급 뒤로 옮겨 보세요. 무슨 일이 벌어질까요?
같은 문제, 다른 알고리즘
중요한 사실 하나. 한 문제를 푸는 알고리즘은 하나가 아닙니다.
"창고에서 이어폰을 찾아라"라는 같은 문제를 두 사람이 이렇게 풉니다.
- 신입 사원 — 1번 선반부터 차례대로 전부 뒤진다
- 10년 차 관리자 — 상품 코드를 보고 해당 구역으로 바로 간다
둘 다 답은 찾습니다. 하지만 걸리는 시간이 다릅니다.
알고리즘 공부의 절반은 "답을 찾는 법", 나머지 절반은
"더 빨리 찾는 법"입니다. 이 강의도 그 두 가지를 배웁니다.
같은 답, 8걸음 vs 1걸음. 이 차이가 이 강의의 주제입니다.
왜 시스템 관리자가 알고리즘을 알아야 할까요
여러분이 코드를 직접 짜지 않더라도, 쇼핑몰을 운영하다 보면 이런 순간이 옵니다.
| 현장에서 벌어지는 일 | 사실은 이 알고리즘 문제 | 배울 강 |
| 상품이 3만 개 되니까 검색이 5초 걸려요 | 탐색 · 인덱스 | 4·5강 |
| "인기순 정렬"이 자꾸 이상하게 나와요 | 다중 기준 정렬 · 안정성 | 7강 |
| 세일 시작 1분 만에 서버가 멈췄어요 | 트래픽 제어 · 큐 | 11·17강 |
| 쿠폰을 잘못 조합해서 손해가 났어요 | 탐욕 알고리즘의 한계 | 12강 |
| 같은 페이지를 왜 매번 새로 만들죠? | 캐시 · LRU | 16강 |
| 카드 도용 주문을 어떻게 걸러내죠? | 이상 탐지 · 임계값 | 18강 |
알고리즘을 알면 이 문제들이 "서버를 더 좋은 걸로 바꿔야 하나"가 아니라
"어느 단계를 어떻게 고치면 되는 문제"로 보이기 시작합니다.
🤔 확인 문제
다음 중 알고리즘이라고 부를 수 없는 것은?
해설 알고리즘은 반드시 끝나야 합니다(유한성). '가격이 쌀 때까지 무한정'은 끝난다는 보장이 없어요. 나머지는 모두 언젠가 끝납니다.
🤔 확인 문제
주문 처리에서 재고 차감을 결제 승인보다 뒤에 두면 생기는 문제는?
해설 돈을 먼저 받고 나서 물건이 없다는 걸 알게 됩니다. 그래서 실무에서는 결제 전에 재고를 잠깐 잡아 두는(예약) 방식을 씁니다.
🤔 확인 문제
"한 문제를 푸는 알고리즘은 여러 개다"라는 말의 의미로 가장 알맞은 것은?
해설 답은 같습니다. 다른 것은 비용이에요. 8걸음이냐 1걸음이냐 — 상품이 3만 개가 되면 이 차이가 서비스의 생사를 가릅니다.