PHP로 배우는 자료구조와 알고리즘
PHP에서는 한 타입이 거의 모든 일을 합니다. array는 순서가 있는 해시 맵으로, 리스트, 딕셔너리, 스택 역할을 한꺼번에 합니다. 이 경로에서는 배열이 대신하던 자료구조와 배열로는 대신할 수 없는 자료구조를 PHP로 직접 만들고, 그것으로 정렬하고 재귀를 쓰고 그래프를 탐색한 뒤, 채점되는 인터뷰 문제로 마무리합니다. 무료이고, 브라우저에서 진행되며, 대부분의 강의에서 수료증이 나옵니다.
377 개 강의228 챌린지702 퀴즈 문제
- 초보자 환영
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
경로 전체에서 무료 수료증 23개
PHP로 배우는 DSA, 단계별로
각 단계는 이미 있는 Coddy 강의들의 묶음이며, 모든 ‘시작’ 버튼은 강의를 PHP로 엽니다. 아직 PHP로 진행되지 않는 세 강의는 단계 목록 뒤에 따로 나와 있습니다.
- 1
- 2
- 3
- 4
- 5
- 66단계
인터뷰 연습
이 단계 시작시작PHP로 푸는 인터뷰 챌린지 팩 10개와 코딩 문제 은행 2개. 테스트 케이스로 채점받으며 처음 보는 문제를 해설 없이, 그리고 모든 일을array하나에 맡기지 않고 풀어냅니다.시작12개 코스, 순서대로- 코딩 인터뷰 챌린지 - 팩 I3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - 팩 II3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - 팩 III3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - 팩 IV3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - 팩 V3 개 강의3 챌린지
- 인터뷰 코딩 챌린지 - 팩 VI3 개 강의3 챌린지
- 인터뷰 코딩 챌린지 - 팩 VII3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - 팩 VIII3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - 팩 IX3 개 강의3 챌린지
- 코딩 인터뷰 챌린지 - X3 개 강의3 챌린지
- 코딩 문제 풀이32 개 강의31 챌린지
- 코딩 문제집: 볼륨 225 개 강의24 챌린지
Learn by Doing
Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.
Build Your Coding Streak
Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.
12 days streak
Return tomorrow to keep your streak!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
Double or Nothing
Day 5 of 7
Streak Freeze
2 left
Code Anywhere, Anytime
Take your coding journey on the go! No setup, no downloads - just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.
You're Not Alone in This
Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!
Every way to learn
Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.
A variable is a named container that stores a value you can reference later in your program.
In Python, you create one by writing the name, an equals sign, then the value you want to store.
The value can change over time - reassigning the name simply points it to a new value.
Prove Your Skills
Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.
Coddy에서 PHP로 DSA를 배워야 하는 이유
array의 진짜 정체. PHP의array는 순서가 있는 해시 맵입니다. 그래서$a[] = $x와$a['key'] = $x가 둘 다 동작하고,array_shift는 느립니다. 남은 모든 요소의 번호를 다시 매기기 때문입니다. 진짜 스택, 큐, 해시 테이블을 직접 만들어 봐야 어떤 배열 연산이 저렴하고 어떤 연산이 조용히 비싼지 알게 됩니다.- 웹 개발자를 위한 알고리즘. PHP는 WordPress와 Laravel을 움직이고, 느린 페이지는 때때로 모습을 바꾼 알고리즘 문제입니다. 반복문 안의
in_array는 매번 선형 탐색이지만, 키가 있는 배열에 대한isset은 평균적으로 상수 시간입니다. 면접을 통과하는 사고방식이 바로 그 페이지를 고치는 사고방식입니다. - 경로의 거의 전부를 PHP로. 모든 자료구조, 정렬, 그래프 알고리즘, 재귀 챌린지, 인터뷰 팩이 PHP로 진행됩니다. 세 강의는 다른 언어로 진행되며, 단계 목록 뒤에 각각의 링크와 함께 따로 나와 있습니다. 동적 계획법과 Python 인터뷰 시리즈(Python), 그리고 비트 연산(C++)입니다. PHP에는 C++의
&,|,^,~,<<,>>가 있으므로 비트 연산 강의도 쉽게 읽힙니다. - 면접처럼 채점됩니다. 모든 레슨은 테스트 케이스로 확인하는 PHP 챌린지로 끝나고, 실패하면 Bugsy가 여러분의 코드를 읽고 정답을 알려 주지 않으면서 해결 방향으로 이끌어 줍니다. 대부분의 강의에서 무료 수료증이 나오고, 각각 고유 URL에서 검증할 수 있습니다.
PHP DSA 학습에 대해 자주 묻는 질문
PHP는 자료구조와 알고리즘에 적합한가요?
array부터 꺼내 드는 습관입니다. PHP의 배열은 리스트, 딕셔너리, 스택이 될 만큼 유연한데, 바로 그 점이 각 연산의 비용을 가려 버립니다. 자료구조를 직접 만들어 보면 PHP는 알고리즘을 따져 보기에 충분히 좋은 언어가 되고, PHP로 일하고 있다면 면접에서 쓰기에도 자연스러운 언어입니다.SPL의 어떤 클래스가 어떤 자료구조에 해당하나요?
SplStack과 SplQueue는 각각 스택과 큐로, 둘 다 SplDoublyLinkedList 위에 만들어져 있습니다. SplMinHeap과 SplMaxHeap은 힙이고, SplPriorityQueue는 우선순위로 정렬되는 최대 힙이며, SplFixedArray는 정수 인덱스를 쓰는 고정 크기 배열로 array보다 메모리를 적게 씁니다. 해시 테이블은 평범한 array가 맡습니다. 트리, 트라이, 그래프 클래스는 없으므로 1단계와 2단계에서 직접 작성합니다.PHP에서 array_shift로 만든 큐는 왜 느린가요?
array_shift로 만든 큐는 왜 느린가요?array_shift로 만든 큐는 꺼낼 때마다 O(n)이 들고, 전부 비우려면 제곱 시간이 걸립니다. SplQueue를 쓰거나, 배열 안의 헤드 인덱스를 두고 대신 앞으로 옮기세요. 1단계에서 큐를 직접 만들어 보는데, 그 차이를 가장 확실하게 확인하는 방법입니다.PHP의 sort()는 안정 정렬인가요?
sort()는 안정 정렬인가요?sort(), usort(), asort()를 비롯한 정렬 함수들은 같은 요소를 원래 순서대로 유지합니다. 8.0 이전에는 그런 약속이 없었으므로, 같은 요소의 순서에 기대는 코드는 버전에 따라 다르게 동작할 수 있었습니다. 3단계의 정렬 8가지 중 병합 정렬과 삽입 정렬은 안정 정렬이고 퀵 정렬과 힙 정렬은 아닙니다. 3단계를 마치면 그 이유를 알게 됩니다.이 경로에서 PHP로 진행되지 않는 강의는 무엇인가요?
array입니다. 비트 트릭을 옮길 때 함정이 하나 있습니다. &, |, ^의 두 피연산자가 모두 문자열이면 PHP는 각 문자의 바이트 값으로 연산하고 문자열을 반환하므로, 먼저 값이 정수인지 확인하세요.이 경로를 시작하기 전에 PHP를 알아야 하나요?
$next 속성을 가진 객체가 되기 때문입니다. 처음 보는 것이 있다면 Coddy의 PHP 강의가 먼저 무료로 그 수준까지 데려다줍니다. 이 경로는 그 강의가 끝나는 지점에서 이어집니다.