post-thumbnail

동적 계획법(Dynamic Programming)

자료구조

2025년 12월 24일
·
0개의 댓글
·
post-thumbnail

BFS(Breadth First Search)

자료구조

2025년 12월 23일
·
0개의 댓글
·
post-thumbnail

DFS(Depth First Search)

자료구조

2025년 12월 19일
·
0개의 댓글
·
post-thumbnail

그래프(Graph)

자료구조

2025년 12월 18일
·
0개의 댓글
·
post-thumbnail

힙(Heap)

자료구조

2025년 12월 16일
·
0개의 댓글
·
post-thumbnail

트리(Tree)

자료구조

2025년 12월 15일
·
0개의 댓글
·
post-thumbnail

해시(Hash)

해시는 데이터를 빠르게 찾기 위해 만들어진 자료구조이자 개념이다. 핵심 아이디어는 간단하다. 값을 그대로 저장하거나 그대로 비교하는 대신, 특정 규칙을 이용해 ‘숫자 형태의 고유한 값(해시 값)’으로 바꿔 저장하고, 그 숫자를 기반으로 데이터를 바로 찾아가는 방식이다.

2025년 12월 3일
·
0개의 댓글
·
post-thumbnail

큐(Queue)

큐는 데이터를 처리할 때 들어온 순서 그대로 다뤄야 하는 상황에서 사용하는 자료구조다. 이 구조의 가장 큰 특징은 먼저 들어온 값이 먼저 나가는 FIFO(First In, First Out) 방식이라는 점이다. 우리가 은행이나 카페에서 줄을 서는 모습과 같다. 먼저 줄

2025년 12월 1일
·
0개의 댓글
·
post-thumbnail

스택(Stack)

스택은 데이터를 저장하는 방식 중 하나로, 가장 마지막에 넣은 데이터를 가장 먼저 꺼내는 구조(LIFO: Last In, First Out)를 갖는다. 일상에서 가장 비슷한 예를 들자면, 책을 한 권씩 쌓아 올린 모습과 같다. 위에 올린 책이 가장 먼저 손에 잡히듯,

2025년 12월 1일
·
0개의 댓글
·
post-thumbnail

병합 정렬

병합 정렬은 배열을 효율적으로 정렬하기 위해 사용되는 대표적인 분할 정복(divide and conquer) 알고리즘이다. 큰 문제를 한 번에 해결하려 하지 않고, 작은 문제로 계속 쪼갠 뒤 정렬하고 다시 합치는 방식으로 동작한다. 병합 정렬이 강력한 이유는 이 구조 덕분에 어떤 입력이 들어와도 시간 복잡도가 일정하게 유지된다는 점이다. 정렬 과정은 ...

2025년 11월 26일
·
0개의 댓글
·
post-thumbnail

선택 정렬 & 삽입 정렬

정렬 알고리즘을 처음 공부할 때 가장 자주 등장하는 두 가지 방식이 있다. 바로 선택 정렬과 삽입 정렬이다. 둘 다 구조가 단순하고 구현이 쉬워서 입문 단계에서 자주 사용되지만, 내부에서 어떻게 동작하는지 조금만 이해해두면 정렬 알고리즘의 기본적인 사고방식이 자연스럽게

2025년 11월 25일
·
0개의 댓글
·
post-thumbnail

버블 정렬(Bubble Sort)

가장 단순하지만 기초를 잡아주는 정렬 알고리즘

2025년 11월 24일
·
0개의 댓글
·
post-thumbnail

재귀 함수

재귀 함수(recursion)는 어떤 문제를 해결할 때 그 문제와 동일한 구조를 가진 더 작은 문제로 쪼갠 뒤, 그 작은 문제를 다시 자기 자신에게 맡기는 방식이다. 이 개념을 처음 들으면 어렵게 느껴지지만, 사실 상자 속에 상자가 계속 들어 있는 구조처럼, 큰 문제

2025년 11월 22일
·
0개의 댓글
·
post-thumbnail

이진 탐색(Binary Search)

이진 탐색은 정렬된 데이터에서 원하는 값을 빠르게 찾기 위해 사용되는 대표적인 탐색 알고리즘이다. 업다운 게임을 떠올리면 동작 원리를 쉽게 이해할 수 있다. 숫자가 1부터 100까지 있다고 가정하고, 제한된 횟수 안에 정답을 맞혀야 한다면 가장 먼저 시도해야 할 숫자는

2025년 11월 18일
·
0개의 댓글
·
post-thumbnail

어레이와 링크드 리스트

프로그래밍에서는 데이터를 어떻게 저장하고 다루느냐에 따라 선택해야 할 자료구조가 달라진다. 특히 배열과 링크드 리스트는 기본 구조는 비슷해 보이지만 내부 동작 방식은 크게 다르다.이 글에서는 어레이(Array)와 링크드 리스트(Linked List)의 차이를 직관적으로

2025년 11월 14일
·
0개의 댓글
·
post-thumbnail

점근 표기법

점근 표기법(Asymptotic Notation)은 알고리즘의 성능을 수학적으로 표현하는 방법이다. 우리가 어떤 코드를 실행할 때 실제 걸리는 시간은 컴퓨터의 사양, 언어, 환경 등에 따라 달라질 수 있다. 그렇기 때문에 절대적인 “실행 시간” 대신, 입력 크기가 커질

2025년 11월 11일
·
0개의 댓글
·
post-thumbnail

공간 복잡도

공간 복잡도(Space Complexity)는 알고리즘이 문제를 해결하는 과정에서 얼마나 많은 메모리 공간을 사용하는가를 분석하는 개념이다. 시간 복잡도가 “얼마나 오래 걸리는가”를 의미한다면, 공간 복잡도는 “얼마나 많은 공간을 차지하는가”를 뜻한다. 쉽게 말해, 입

2025년 11월 11일
·
0개의 댓글
·
post-thumbnail

시간 복잡도

시간 복잡도(Time Complexity)는 알고리즘의 효율성을 판단할 때 가장 기본이 되는 개념이다. 이는 입력값의 크기(N)가 커질 때 프로그램이 문제를 해결하기 위해 수행해야 하는 연산의 양을 의미한다. 단순히 코드가 빨리 실행되는지 느린지를 말하는 게 아니라, 입력이 커질수록 연산 횟수가 얼마나 늘어나는가를 수학적으로 표현하는 것이다. 예를 들어...

2025년 11월 11일
·
0개의 댓글
·
post-thumbnail

Life is short, you need Python.

파이썬

2025년 11월 8일
·
0개의 댓글
·
post-thumbnail

💻 프로그래밍의 뿌리를 이해하기

컴퓨터 구조와 운영체제

2025년 11월 7일
·
0개의 댓글
·