그래프(Graph)란 무엇인가?그래프는 정점(Vertex)과 간선(Edge)으로 구성된 자료구조입니다. 각 정점은 데이터를 나타내고, 간선은 두 정점 간의 관계를 나타냅니다. 그래프는 네트워크 구조를 모델링하거나 경로 탐색, 순서 관계 등을 해결하는 데 사용됩니다.그래프의 기본 용어정점(Vertex) : 그래프의 기본 요소로 데이터를 저장합니다.간선(Edge) : 두 정점을 연결해서 관계를 나타냅니다. 방향이 있을 수도, 없을 수도 있습니다.그래프의 종류그래프는 간선의 방향성 여부와 가중치의 존재에 따라 여러 가지 유형으로 나눌 수 있습니다.1. 방향 그래프(Directed Graph)방향 그래프는 간선이 특정 방향을 가지는 그래프입니다. 정점 A에서 B로 연결되어 있을 때, 그 반대로는 연결되지 않는 ..
그리디 알고리즘(Greedy Algorithm) 완벽 가이드그리디는 사전적 의미로 탐욕스러운이라는 의미를 가집니다.그리디 알고리즘(Greedy Algorithm)은 매 순간 가장 좋아 보이는 선택을 반복적으로 수행하여 문제를 해결하는 알고리즘입니다. 최적의 해를 구하는 것이 목표지만, 매 단계마다 부분적인 최적의 선택을 한다는 것이 핵심입니다.그리디 알고리즘의 기본 개념과 작동 원리그리디 알고리즘은 문제 해결을 위해 전체적인 관점보다는 현재의 상황에서 가장 유리한 선택을 반복합니다.다음과 같은 상황에서 사용될 수 있습니다문제 분할 가능성(Divisible Subproblem) : 문제를 여러 작은 부분 문제로 나눌 수 있을 때최적 부분 구조(Optimal Substructure) : 부분 문제의 최적해가..
✈️다음 글은 코딩 테스트 스터디를 준비하기 위해 책을 정리한 글입니다.코딩 테스트란?코딩 테스트는 지원자가 알고 있는 자료구조와 알고리즘 등을 이용해서 문제를 해결할 수 있는 능력을 평가하는 시험입니다. 한국의 중상위 IT 기업은 거의 모두 코딩 테스트를 진행하며, 이 테스트를 통과한 지원자만 다음 면접 과정을 진행할 수 있습니다.일반적인 채용 프로세스코딩 테스트에서는 제한 시간 내 기업에서 출제한 문제를 해결하는 코드를 작성해야 합니다.출제되는 문제 개수와 난이도는 기업별로 상이하며, 일반적으로는 4~5문제를 3시간 정도 내 해결해야 하며, 난이도는 프로그래머스 기준으로 2~4 레벨 정도입니다.제한 시간 내 푼 문제 개수와 시간을 바탕으로 기업은 다음 단계로 넘어갈 지원자를 선택합니다. 따라서 평소 ..