코딩테스트, 지식에서 스킬로.

코딩테스트에 통하는 모든 문제 풀이 스킬, 코드트리에서 만나보세요.

나에게 딱 맞는 학습이 궁금하다면?

문제 해결력을 기르는 스킬은 따로 있습니다.

가장 많은 학습자가 이 단계에 있어요.

생각을 코드로 옮기는 자신감이 필요하신가요?

조건문

중첩 조건문

단순반복문

언제 끝날지 모르는 상황에서의 loop

다중반복문

cnt를 이용하여 숫자 출력

2차원 배열

격자로서의 2차원 배열

함수

Call by value / Call by reference

재귀함수

값을 반환하지 않는 재귀함수

시뮬레이션 I

구간 칠하기

시뮬레이션 II

dx dy technique

완전탐색 III

상황을 일일이 가정해보고 진행하는 완전탐색

케이스별로 나누기

일어난 상황에 대한 추론

시간, 공간복잡도

반복문의 시간복잡도

조건문

중첩 조건문

단순반복문

언제 끝날지 모르는 상황에서의 loop

다중반복문

cnt를 이용하여 숫자 출력

2차원 배열

격자로서의 2차원 배열

함수

Call by value / Call by reference

재귀함수

값을 반환하지 않는 재귀함수

시뮬레이션 I

구간 칠하기

시뮬레이션 II

dx dy technique

완전탐색 III

상황을 일일이 가정해보고 진행하는 완전탐색

케이스별로 나누기

일어난 상황에 대한 추론

시간, 공간복잡도

반복문의 시간복잡도

3개월 뒤 합격 기업

실제 합격자 데이터입니다.

kb logo imagewoori logo imagehana logo imageshinhan logo image

낯선 문제도 당황하지 않고 풀어내고 싶나요?

재귀함수

값을 반환하는 재귀함수

시뮬레이션 II

배열 기록

완전탐색 I

자리마다 숫자를 정하는 완전탐색

케이스별로 나누기

좋은 전략을 추려내기

시간,공간복잡도

재귀함수의 시간복잡도

Simulation I

격자 안에서 터지고 떨어지는 경우

Simulation II

격자 안에서 단일 객체를 이동

Backtracking I

K개 중 하나를 N번 선택하기(Conditional)

Backtracking II

N개 중에 M개 고르기(Simple)

BFS

가중치가 동일한 그래프에서의 BFS

DP I

격자 안에서 한 칸씩 전진하는 DP

DP II

연속적이지만 직전 상황에 영향을 받는 DP

재귀함수

값을 반환하는 재귀함수

시뮬레이션 II

배열 기록

완전탐색 I

자리마다 숫자를 정하는 완전탐색

케이스별로 나누기

좋은 전략을 추려내기

시간,공간복잡도

재귀함수의 시간복잡도

Simulation I

격자 안에서 터지고 떨어지는 경우

Simulation II

격자 안에서 단일 객체를 이동

Backtracking I

K개 중 하나를 N번 선택하기(Conditional)

Backtracking II

N개 중에 M개 고르기(Simple)

BFS

가중치가 동일한 그래프에서의 BFS

DP I

격자 안에서 한 칸씩 전진하는 DP

DP II

연속적이지만 직전 상황에 영향을 받는 DP

3개월 뒤 합격 기업

실제 합격자 데이터입니다.

samsung logo imagehyundai logo imagenaver logo imagekt logo imagetoss logo image

최상위 실력으로 도약하고 싶으신가요?

Simulation I

격자 안에서 완전탐색

Simulation II

격자 안에서 여러 객체를 이동

Backtracking

순열 만들기

DP I

아이템을 적절히 고르는 문제

DP II

원하는 state를 정의하여 한 칸씩 나아가는 DP

HashMap

문자열을 마치 Array의 Index처럼 사용하기

TreeSet

인접한 두 숫자를 빠르게 구하기

Shorten time Technique

+1 -1 Technique

Dijkstra

모든 점으로부터 특정 점까지의 최단거리

위상정렬

Graph DP

Advanced DP

작은 구간에서 큰 구간으로 확장되는 DP

Simulation I

격자 안에서 완전탐색

Simulation II

격자 안에서 여러 객체를 이동

Backtracking

순열 만들기

DP I

아이템을 적절히 고르는 문제

DP II

원하는 state를 정의하여 한 칸씩 나아가는 DP

HashMap

문자열을 마치 Array의 Index처럼 사용하기

TreeSet

인접한 두 숫자를 빠르게 구하기

Shorten time Technique

+1 -1 Technique

Dijkstra

모든 점으로부터 특정 점까지의 최단거리

위상정렬

Graph DP

Advanced DP

작은 구간에서 큰 구간으로 확장되는 DP

3개월 뒤 합격 기업

실제 합격자 데이터입니다.

google logo imagemicrosoft logo imagemeta logo imageamazon logo image

모든 핵심 출제 원리, 스킬 트리를 따라 내 것으로 만드세요.

samsung logo imagehyundai logo imagenaver logo imagekt logo imagetoss logo image

1. 프로그래밍 기초

1. 출력

변수를 선언하고 값을 변경하며 원하는 형태에 맞춰 값을 출력하는 방법에 대해 배우게 됩니다.

2. 입출력

타입과 원하는 형태에 맞춰 값을 입력 받는 방법에 대해 배우게 됩니다.

3. 연산자

사용할 수 있는 연산자의 종류와 사용법에 대해 배우게 됩니다.

4. 조건문

조건문의 필요성과 각 상황에 따라 조건문을 어떻게 활용해야 하는지에 대해 배우게 됩니다.

5. 단순 반복문

반복문의 정의와 각 상황에 맞춰 반복문을 어떻게 사용해야 하는지에 대해 배우게 됩니다.

6. 다중 반복문

반복문을 중첩해서 쓰는 방법과 그 쓰임에 대해 배우게 됩니다.

7. 1차원 배열

1차원 배열의 정의와 값을 변경하고 수정하고 추가하는 방법에 대해 배우게 됩니다.

8. 2차원 배열

2차원 배열의 정의와 그 쓰임에 대해 배우게 됩니다.

9. 문자열

문자열을 선언하고 사용하는 방법에 대해 배우게 됩니다.

1. 출력

변수를 선언하고 값을 변경하며 원하는 형태에 맞춰 값을 출력하는 방법에 대해 배우게 됩니다.

2. 입출력

타입과 원하는 형태에 맞춰 값을 입력 받는 방법에 대해 배우게 됩니다.

3. 연산자

사용할 수 있는 연산자의 종류와 사용법에 대해 배우게 됩니다.

4. 조건문

조건문의 필요성과 각 상황에 따라 조건문을 어떻게 활용해야 하는지에 대해 배우게 됩니다.

5. 단순 반복문

반복문의 정의와 각 상황에 맞춰 반복문을 어떻게 사용해야 하는지에 대해 배우게 됩니다.

6. 다중 반복문

반복문을 중첩해서 쓰는 방법과 그 쓰임에 대해 배우게 됩니다.

7. 1차원 배열

1차원 배열의 정의와 값을 변경하고 수정하고 추가하는 방법에 대해 배우게 됩니다.

8. 2차원 배열

2차원 배열의 정의와 그 쓰임에 대해 배우게 됩니다.

9. 문자열

문자열을 선언하고 사용하는 방법에 대해 배우게 됩니다.

2. 프로그래밍 연습

1. 함수

함수의 정의를 이해하고 그 쓰임에 대해 배우게 됩니다.

2. 재귀함수

재귀함수의 정의를 이해하고 그 쓰임에 대해 배우게 됩니다.

3. 정렬

배열, 객체를 정렬하는 방법과 어떤 경우에 정렬이 유용하게 쓰이는 지에 대해 배우게 됩니다.

4. 시뮬레이션 I

날짜 및 시간 계산, 진법 변환, 그리고 구간의 길이 및 직사각형의 넓이를 구하는 방법에 대해 배우게 됩니다.

5. 시뮬레이션 II

최장 연속 부분 수열, 배열 기록의 중요성, 그리고 dx, dy 테크닉에 대해서 배우게 됩니다.

6. 완전탐색 I

자리 수, 구간 단위로 완점탐색 그리고 자리 마다 숫자를 정하는 완전탐색에 대해 배우게 됩니다.

7. 완전탐색 II

물체 단위로 진행하는 완전탐색과 값을 기준으로 진행하는 완전탐색에 대해 배우게 됩니다.

8. 완전탐색 III

조금 복잡한 문제를 완전 탐색 문제로 바꿔 진행하여 문제 난이도를 낮춰 해결하는 방법에 대해 배우게 됩니다.

9. 케이스별로 나누기

어떤 문제를 해결하기 위해 다양한 상황을 생각하고 그것을 정리하는 방법에 대해 배우게 됩니다.

10. Ad-Hoc

문제를 풀기 위한 전략이 그 문제만을 위한 전략인 경우 어떻게 사고할 수 있는지에 대해 배우게 됩니다.

1. 함수

함수의 정의를 이해하고 그 쓰임에 대해 배우게 됩니다.

2. 재귀함수

재귀함수의 정의를 이해하고 그 쓰임에 대해 배우게 됩니다.

3. 정렬

배열, 객체를 정렬하는 방법과 어떤 경우에 정렬이 유용하게 쓰이는 지에 대해 배우게 됩니다.

4. 시뮬레이션 I

날짜 및 시간 계산, 진법 변환, 그리고 구간의 길이 및 직사각형의 넓이를 구하는 방법에 대해 배우게 됩니다.

5. 시뮬레이션 II

최장 연속 부분 수열, 배열 기록의 중요성, 그리고 dx, dy 테크닉에 대해서 배우게 됩니다.

6. 완전탐색 I

자리 수, 구간 단위로 완점탐색 그리고 자리 마다 숫자를 정하는 완전탐색에 대해 배우게 됩니다.

7. 완전탐색 II

물체 단위로 진행하는 완전탐색과 값을 기준으로 진행하는 완전탐색에 대해 배우게 됩니다.

8. 완전탐색 III

조금 복잡한 문제를 완전 탐색 문제로 바꿔 진행하여 문제 난이도를 낮춰 해결하는 방법에 대해 배우게 됩니다.

9. 케이스별로 나누기

어떤 문제를 해결하기 위해 다양한 상황을 생각하고 그것을 정리하는 방법에 대해 배우게 됩니다.

10. Ad-Hoc

문제를 풀기 위한 전략이 그 문제만을 위한 전략인 경우 어떻게 사고할 수 있는지에 대해 배우게 됩니다.

3. 자료구조 알고리즘

1. 시간, 공간복잡도

시간복잡도와 공간복잡도의 정의와 그 쓰임에 대해 배우게 됩니다.

2. 배열, 연결 리스트

배열, 연결 리스트의 정의와 그 차이에 대해 배우게 됩니다.

3. 정렬

각각의 정렬에 대한 정의와 그 특징에 대해 배우게 됩니다.

4. 이진탐색

이진탐색과 순차탐색의 차이와 lower/upper bound의 개념에 대해 배우게 됩니다.

5. 스택, 큐, 덱

스택, 큐, 덱의 정의와 그 특징에 대해 배우게 됩니다.

6. 트리

트리의 정의와 종류, 그리고 탐색하는 방법에 대해 배우게 됩니다.

7. 해싱

해시의 종류와 충돌을 해결하는 방법에 대해 배우게 됩니다.

8. DP

DP의 정의와 해당 개념을 이용해 풀리는 대표적인 문제들을 접해보게 됩니다.

9. 그래프 탐색

그래프의 종류와 탐색 방법에 대해 배우게 됩니다.

10. 그래프 알고리즘

그래프 내에서의 최단거리를 구하는 알고리즘과 최소비용신장 트리에 대해 배우게 됩니다.

1. 시간, 공간복잡도

시간복잡도와 공간복잡도의 정의와 그 쓰임에 대해 배우게 됩니다.

2. 배열, 연결 리스트

배열, 연결 리스트의 정의와 그 차이에 대해 배우게 됩니다.

3. 정렬

각각의 정렬에 대한 정의와 그 특징에 대해 배우게 됩니다.

4. 이진탐색

이진탐색과 순차탐색의 차이와 lower/upper bound의 개념에 대해 배우게 됩니다.

5. 스택, 큐, 덱

스택, 큐, 덱의 정의와 그 특징에 대해 배우게 됩니다.

6. 트리

트리의 정의와 종류, 그리고 탐색하는 방법에 대해 배우게 됩니다.

7. 해싱

해시의 종류와 충돌을 해결하는 방법에 대해 배우게 됩니다.

8. DP

DP의 정의와 해당 개념을 이용해 풀리는 대표적인 문제들을 접해보게 됩니다.

9. 그래프 탐색

그래프의 종류와 탐색 방법에 대해 배우게 됩니다.

10. 그래프 알고리즘

그래프 내에서의 최단거리를 구하는 알고리즘과 최소비용신장 트리에 대해 배우게 됩니다.

4. 알고리즘 입문

1. Simulation

격자 안에서 완전 탐색, 회전 그리고 이동하는 법을 배우게 됩니다.

2. Backtracking

재귀 함수를 통해 원하는 조합과 순열을 만드는 법을 배우게 됩니다.

3. DFS

깊이 우선 탐색 방법과 그 쓰임에 대해 배우게 됩니다.

4. BFS

너비 우선 탐색 방법과 그 쓰임에 대해 배우게 됩니다.

5. DP I

피보나치, LIS, 동전 거슬러주기 등 간단한 동적계획법 문제 유형에 대해 배우게 됩니다.

6. DP II

원하는 State를 적절하게 정의하여 동적계획법 문제를 해결하는 유형에 대해 배우게 됩니다.

1. Simulation

격자 안에서 완전 탐색, 회전 그리고 이동하는 법을 배우게 됩니다.

2. Backtracking

재귀 함수를 통해 원하는 조합과 순열을 만드는 법을 배우게 됩니다.

3. DFS

깊이 우선 탐색 방법과 그 쓰임에 대해 배우게 됩니다.

4. BFS

너비 우선 탐색 방법과 그 쓰임에 대해 배우게 됩니다.

5. DP I

피보나치, LIS, 동전 거슬러주기 등 간단한 동적계획법 문제 유형에 대해 배우게 됩니다.

6. DP II

원하는 State를 적절하게 정의하여 동적계획법 문제를 해결하는 유형에 대해 배우게 됩니다.

1. Simulation

격자 안에서 완전 탐색, 회전 그리고 이동하는 법을 배우게 됩니다.

2. Backtracking

재귀 함수를 통해 원하는 조합과 순열을 만드는 법을 배우게 됩니다.

3. DFS

깊이 우선 탐색 방법과 그 쓰임에 대해 배우게 됩니다.

4. BFS

너비 우선 탐색 방법과 그 쓰임에 대해 배우게 됩니다.

5. DP I

피보나치, LIS, 동전 거슬러주기 등 간단한 동적계획법 문제 유형에 대해 배우게 됩니다.

6. DP II

원하는 State를 적절하게 정의하여 동적계획법 문제를 해결하는 유형에 대해 배우게 됩니다.

5. 알고리즘 기본

1. 중급 자료구조

Map, Set, Priority Queue가 상황별로 어떻게 쓰이게 되는지에 대해 배우게 됩니다.

2. Shorten time Technique

Prefix Sum, Grid Compression, Two Pointer 등의 시간복잡도를 줄이는 테크닉에 대해 배우게 됩니다.

3. Parametric Search

Binary Search, Parametric Search에 대해 배우게 됩니다.

4. Greedy

Greedy 알고리즘의 정의와 그 쓰임에 대해 배우게 됩니다.

5. Shortest Path

Dijkstra, Floyd 등의 최단거리 알고리즘에 대해 배우게 됩니다.

1. 중급 자료구조

Map, Set, Priority Queue가 상황별로 어떻게 쓰이게 되는지에 대해 배우게 됩니다.

2. Shorten time Technique

Prefix Sum, Grid Compression, Two Pointer 등의 시간복잡도를 줄이는 테크닉에 대해 배우게 됩니다.

3. Parametric Search

Binary Search, Parametric Search에 대해 배우게 됩니다.

4. Greedy

Greedy 알고리즘의 정의와 그 쓰임에 대해 배우게 됩니다.

5. Shortest Path

Dijkstra, Floyd 등의 최단거리 알고리즘에 대해 배우게 됩니다.

1. 중급 자료구조

Map, Set, Priority Queue가 상황별로 어떻게 쓰이게 되는지에 대해 배우게 됩니다.

2. Shorten time Technique

Prefix Sum, Grid Compression, Two Pointer 등의 시간복잡도를 줄이는 테크닉에 대해 배우게 됩니다.

3. Parametric Search

Binary Search, Parametric Search에 대해 배우게 됩니다.

4. Greedy

Greedy 알고리즘의 정의와 그 쓰임에 대해 배우게 됩니다.

5. Shortest Path

Dijkstra, Floyd 등의 최단거리 알고리즘에 대해 배우게 됩니다.

6. 알고리즘 실전

1. Tree

트리, 이진트리의 정의와 개념, 그리고 더 나아가 Tree DP, LCA에 대해서 배우게 됩니다.

2. MST

Disjoint Set과 MST의 대표 알고리즘인 Kruskal, Prim에 대해서 배우게 됩니다.

3. 위상정렬

위상정렬의 정의와 그 쓰임, 그리고 Graph DP에 대해 배우게 됩니다.

4. String

Manacher 알고리즘, String Hashing, KMP, Trie 등에 대해 배우게 됩니다.

5. Advanced DP

Bitonic Cycle, BitmaskDP 등에 대해 배우게 됩니다.

1. Tree

트리, 이진트리의 정의와 개념, 그리고 더 나아가 Tree DP, LCA에 대해서 배우게 됩니다.

2. MST

Disjoint Set과 MST의 대표 알고리즘인 Kruskal, Prim에 대해서 배우게 됩니다.

3. 위상정렬

위상정렬의 정의와 그 쓰임, 그리고 Graph DP에 대해 배우게 됩니다.

4. String

Manacher 알고리즘, String Hashing, KMP, Trie 등에 대해 배우게 됩니다.

5. Advanced DP

Bitonic Cycle, BitmaskDP 등에 대해 배우게 됩니다.

1. Tree

트리, 이진트리의 정의와 개념, 그리고 더 나아가 Tree DP, LCA에 대해서 배우게 됩니다.

2. MST

Disjoint Set과 MST의 대표 알고리즘인 Kruskal, Prim에 대해서 배우게 됩니다.

3. 위상정렬

위상정렬의 정의와 그 쓰임, 그리고 Graph DP에 대해 배우게 됩니다.

4. String

Manacher 알고리즘, String Hashing, KMP, Trie 등에 대해 배우게 됩니다.

5. Advanced DP

Bitonic Cycle, BitmaskDP 등에 대해 배우게 됩니다.

문제 풀이 스킬을 순서대로 학습하는 6 Codetrails

촘촘하게 체계적으로 정리된 세상 모든 출제 원리에 액세스하세요.

Plan 1

스킬 학습에 최적화된 구성과 기능

모든 스킬을 원하는 속도로 거침없이 학습할 수 있는 모든게 준비되어 있습니다.
달리기만 하세요!

꾸준히 학습하고 싶어지는 구성

잔디 채우기=실력 향상 공식.
코드트리에선 가능해요.

카카오톡 알림

카카오톡으로 학습 리마인드를 챙겨드려요.

규칙적인 학습 루틴을 만들어보세요.

Plan 4

알고 있다는 착각에서 풀 수 있다는 확신으로

"확실히 엄청 고민하고 만든게 느껴진다.

체계적으로 문제 풀이에 필요한 지식을 '작은 단위'로 학습시키다 보니 그냥 '문제 풀이'만 하는 방법들에 비해 비교적 덜 지치고 정확하게 공부할 수 있는 것 같다고 느꼈다. 이런 서비스를 만들어줘서 감사하다고 생각한다."

- ck********2, 학습 41일째 작성

나에게 딱 맞는 학습이 궁금하다면?

주식회사 브랜치앤바운드(Branch and Bound) | © 2026. Branch and Bound Inc.

본 사이트의 모든 교육 콘텐츠는 저작권법의 보호를 받으며, 저작자의 사전 동의 없는 무단 복제/복사/배포를 금지합니다. Copyright © Branch & Bound | contact@codetree.ai

대표이사: 이승용 | 주소: 서울특별시 서초구 남부순환로358길 49, 4층 (양재동, 자강빌딩) | 전화번호: 010-2381-2434 | 사업자등록번호: 556-88-02019 | 대표메일: contact@bandb.ai | 통신판매업: 2023-서울서초-1941