| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 오일러 경로
- 코딩테스트준비
- 인프런
- 알고리즘 기초
- table status
- mysql 표
- 코딩테스트
- 네트워킹데이
- 티스토리챌린지
- 스터디2기
- CS스터디
- 순차탐색
- 갭체크
- 코테독학
- 개발자루틴
- spring boot
- mysql 표 출력
- mycli
- 동적 프로그래밍 방법
- 욕심쟁이 방법
- 오블완
- 코테공부
- 1일1코테
- zsh theme
- 알고리즘공부
- 코테준비
- 인프런워밍업클럽
- 분할정복 방법
- 코드트리
- 데이크스트라
- Today
- Total
Develop
[코드트리x청약 통장 이벤트] 3회차 - 자료구조(배열) 약점 극복 학습 후기 본문
안녕하세요
코드트리 청약통장 이벤트 3회차 납입해보겠습니다~
3회차 미션 소개
2회차에 진행한 갭체크를 바탕으로 내 약점 유형을 진단받고, 돌파해보는 미션 입니다.

https://www.codetree.ai/ko/no-free-lunch-2026/?ref=KJZDQQ
수행 방법은 2가지 중 선택할 수 있었습니다.
1. 갭체크를 통해 진단 받은 추천 챕터 학습
2. 본인이 생각하는 약한 유형의 문제를 풀수도 있었습니다.
저는 2번 방법으로 진행했고, 자료구조부터 차근차근 공부해야하기 때문에 시간복잡도와 배열을 선택했습니다.
나의 약점 유형, 시간복잡도를 선택한 이유
코딩테스트를 준비하면서 가장 어려웠던 부분이 바로 시간복잡도 분석이었습니다. 코드는 짤 수 있는데, 이 코드가 효율적인지 비효율적인지 판단하는 감각이 부족했습니다. 특히 면접에서 "이 코드의 시간복잡도가 어떻게 되나요?"라는 질문을 받으면 당황했던 경험이 있어서, 이번 회차에는 시간복잡도 분석 능력을 집중적으로 키우기로 결정했습니다.
코드트리 학습 방법
코드트리의 학습 흐름은 기본개념-문제-해설-연습문제 순으로 진행 됩니다.
개념을 익힌 후에 여러 문제를 풀면서 꼼꼼하게 단계별로 성장할 수 있는 장점이 있습니다.
특히 문법이 약하거나, 동시에 여러 언어를 다루시는분들께 추천할만한 학습 방법인데요.
타사이트는 바로 문제만 나오는경우가 있는데, 초보자들은 어떤문제인지, 뭘 요구하는지, 어떤 방식으로 풀어야 할 지 모르는경우가 많습니다.
기본개념 : UI 로 이해도 높이기
코드트리는 기본개념을 제시하고, 단계별로 성장할 수 있게 하여 초보자들의 방황을 줄여줍니다.

추가적인 장점으로, 개념 설명 UI 를 들 수 있습니다.
배열의 경우 추가, 수정, 삭제 됨에 따라 값이 바뀌는 모습을 UI 로 보여주면서 사용자의 이해도를 높입니다.



문제풀이 : 배열의 연산 시간복잡도 분석
학습한 개념을 바탕으로 문제가 주어집니다.
그림처럼 선지에서 선택하는 방식이거나, 에디터에 직접 코드를 작성해 실행해보는 방식으로 문제를 풀며, 답이 맞다고 생각되면 최종 제출 합니다.
제가 만난 배열의 연산 문제는 다음과 같았습니다.

처음에는 for문만 보고 O(N)이라고 생각했는데, for문 안에 arr.find(i)를 놓쳤습니다.
1. 외부 반복문: for i = 0 ... i < arr.size() → N번 반복
2. 내부 연산: arr.find(i) → 매번 O(N) 소요
3. 중첩 시간복잡도: O(N) × O(N) = O(N²)
반복문 안에 있는 메소드의 시간복잡도까지 곱해야 해서 O(N²) 이 정답이 됩니다.
그리고 실행했을때 주어진 테스트케이스를 통과해도, 제출 과정에서 생각지 못한 테스트케이스에서 실패하는 경우가 종종 있습니다.
그래서 코드를 다각도에서 생각하고 제출해야 합니다 ㅎㅎ;;
제출 후 틀렸다면 다시 풀거나 해설을 볼 수 있고, 최대한 해설없이 여러번 푸는 방법을 추천합니다.
마치며
시간복잡도는 단순히 코테만을 위한 개념이 아니라, 실무에서 성능 문제를 예방하는 핵심 역량이라는 것을 깨달았습니다.
백엔드 개발자로 전환하는 과정에서 이 감각은 반드시 필요한 능력이라고 생각합니다.
다음 주에는 다른 자료구조에 대한 레슨도 도전해보려고 합니다. 코드트리에서 같이 공부해요~💪
https://www.codetree.ai/ko/no-free-lunch-2026/?ref=KJZDQQ
감사합니다~
'CS > 알고리즘' 카테고리의 다른 글
| [코드트리 x 청약통장 이벤트] 5회차 - 북마크로 계획적인 학습하기 (0) | 2026.06.08 |
|---|---|
| [코드트리x청약 통장 이벤트] 4회차 - 1일 1코테 풀고 잔디 심으실 분~ (0) | 2026.05.27 |
| [코드트리x청약 통장 이벤트] 코딩테스트 준비, 갭체크부터 시작하기 (0) | 2026.05.18 |
| [Algorithm] 알고리즘의 기초 개념과 대표적인 설계 기법 정리 (0) | 2026.02.26 |
| 알고리즘 공부 시작! (0) | 2025.05.23 |