PHP로 배우는 자료구조와 알고리즘
PHP에서는 한 타입이 거의 모든 일을 합니다. array는 순서가 있는 해시 맵으로, 리스트, 딕셔너리, 스택 역할을 한꺼번에 합니다. 이 경로에서는 배열이 대신하던 자료구조와 배열로는 대신할 수 없는 자료구조를 PHP로 직접 만들고, 그것으로 정렬하고 재귀를 쓰고 그래프를 탐색한 뒤, 채점되는 인터뷰 문제로 마무리합니다. 무료이고, 브라우저에서 진행되며, 대부분의 강의에서 수료증이 나옵니다.
377 개 강의284 챌린지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 챌린지
해보면서 배우기
실제 코드를 작성하고, 데이터베이스를 쿼리하고, 웹사이트를 구축하고, AI 프롬프트를 마스터하세요. 인터랙티브 레슨으로 현대 개발자에게 필요한 모든 기술을 다룹니다.
연속 기록을 쌓아보세요
꾸준히 하고 성장하는 모습을 지켜보세요! 매일 코딩 습관을 추적하고, 동결 기능으로 연속 기록을 보호하고, 매일 참여해서 보상을 받으세요.
12 일 연속
내일도 돌아와서 연속 기록을 유지하세요!
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
더블 오어 낫싱
7일 중 5일차
연속 기록 동결
2 left
어디서나 코딩하세요
코딩 여정을 함께 하세요! 설정도, 다운로드도 필요 없이 바로 열어서 코딩을 시작하세요. iOS, Android, 웹에서 4.9점 평점으로 이용 가능합니다.
당신은 혼자가 아닙니다
글로벌 리더보드에서 경쟁하고, 친구를 초대해서 보상을 받고, 서로의 성공을 축하하세요. 코딩은 친구와 함께하면 더 좋아요!
모든 방식으로 학습
읽고, 듣고, 스스로 확인하고, AI에게 묻고, 이미 배운 내용을 찾아보세요. 모든 수업이 당신에게 맞춰집니다.
변수는 나중에 프로그램에서 참조할 값을 저장하는, 이름이 있는 컨테이너입니다.
Python에서는 이름, 등호, 저장할 값을 차례대로 써서 만듭니다.
값은 시간이 지나며 바뀔 수 있습니다. 재할당하면 그 이름이 새로운 값을 가리킵니다.
수료증을 받으세요
완료한 모든 코스에 대해 인증서를 받으세요. LinkedIn 프로필과 이력서에 추가하여 고용주에게 코딩 전문성을 보여주세요.
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 강의가 먼저 무료로 그 수준까지 데려다줍니다. 이 경로는 그 강의가 끝나는 지점에서 이어집니다.