시간 복잡도(Time Complexity)는 알고리즘이 입력 크기에 따라 실행에 필요한 시간(또는 연산 횟수)의 증가율을 나타내는 개념이다. 즉, 알고리즘의 효율성을 평가하는 데 사용된다. 일반적으로 시간 복잡도는 입력 크기 n에 대한 함수로 표현된다. 가장 일반적으
문자열(String)은 컴퓨터 과학과 프로그래밍에서 사용되는 데이터 타입 중 하나로, 일련의 문자들의 시퀀스(sequence)를 나타낸다. 쉽게 말해, 문자열은 문자들이 순서대로 나열된 문자의 집합이다. Baekjoon - String String Method
자료 구조(Data Structures)는 프로그래밍에서 데이터를 구성하고 조직하는 방법을 말한다. 코딩 테스트에서 자료 구조 문제는 주어진 문제를 해결하기 위해 효율적인 데이터 구조를 사용하는 방법을 확인하는데 사용된다. Baekjoon - Data Structur
정렬(Sort)은 데이터를 특정 기준에 따라 순서대로 정렬하는 것을 의미한다. 정렬은 다양한 알고리즘과 기법을 사용하여 구현할 수 있으며, 프로그래밍 언어에서도 정렬을 위한 내장 함수나 라이브러리를 제공한다. Baekjoon - Sorting Algorithms V
탐색(Search)은 주어진 데이터 집합에서 특정 값을 찾거나 조건을 만족하는 값을 찾는 과정을 다룬다. 탐색 문제의 유형은 이진 탐색, 너비 우선 탐색(BFS), 깊이 우선 탐색(DFS)로 나눌 수 있다. Binary Search 이진 탐색(Binary Searc
동적 프로그래밍(Dynamic Programming)은 복잡한 문제를 간단한 하위 문제로 분할하여 해결하는 알고리즘 설계 기법이다. 이러한 기법은 하위 문제의 해결 방법을 저장하고 재활용하여 중복 계산을 피하며 효율적인 해결책을 찾아낸다. 동적 프로그래밍은 최적 부분
탐욕 알고리즘 또는 그리디 알고리즘(Greedy Algorithm)은 각 단계에서 지금까지의 선택이 최적이라고 가정하고 진행하여 최종적으로 최적해에 도달하는 것을 목표로 한다. 이는 현재 상황에서 가장 좋아보이는 선택을 수행함으로써 지역 최적해를 찾아 전역 최적해를 구
순열(Permutation)은 주어진 집합에서 원소를 선택하여 순서에 맞게 나열하는 방법이며, 조합(Combination)은 주어진 집합에서 원소를 선택하여 순서에 상관없이 나열하는 방법이다. Baekjoon - Combinatorics 다음은 순열과 조합 문제에
정수론(Number Theory)은 수와 정수에 대한 속성과 구조를 연구하는 수학의 분야이다. 이론적으로 숫자와 관련된 다양한 패턴과 규칙을 이해하고, 숫자 간의 상호작용과 특성을 연구하는 분야이다. Baekjoon - Number Theory 정수론의 주요 주제
그래프(Graph)는 노드(Node)와 간선(Edge)으로 이루어진 자료구조로, 다양한 현실 세계의 관계를 모델링하는 데 사용된다.Baekjoon - Graph TheoryBaekjoon - Graph Traversal그래프의 주요 주제 및 개념은 다음과 같다:소수 판
트리(Tree)는 계층적인 구조를 나타내며, 노드(node)라고 불리는 요소들의 모음으로 구성된다. 각 노드는 하나의 부모(parent) 노드와 0개 이상의 자식(children) 노드를 가질 수 있다.Baekjoon - Graph TheoryBaekjoon - Gra
Brute-Force Brute-Force은 가능한 모든 경우의 수를 탐색하여 원하는 결과를 찾는 방식이다. Baekjoon - Bruteforcing Bitmask 비트마스크(Bitmask)는 이진수의 비트를 사용하여 집합의 원소 여부를 표현하는 방식이다.