이세개발
article thumbnail
08 다양한 그래프 알고리즘
Algorithm/이.코.테 2023. 6. 3. 15:51

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 그래프 이론 그래프 이론(Graph Theory)은 그래프의 구조와 그래프를 다루는 수학적인 이론을 다루는 분야입니다. 그래프는 노드(node)와 그 노드들을 연결하는 간선(edge)으로 이루어진 자료 구조로, 다양한 현실 세계의 상호 관계를 표현할 수 있습니다. 연습문제 ㅇ

article thumbnail
07 가장 빠른 길 찾기
Algorithm/이.코.테 2023. 6. 3. 15:51

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 최단 경로 최단 경로 알고리즘은 그래프에서 두 정점 사이의 최단 경로를 찾는 알고리즘입니다. 그래프의 간선에 가중치가 있을 경우, 가중치의 합이 최소가 되는 경로를 찾는 것이 일반적입니다 연습문제 ㅇ

article thumbnail
06 다이나믹 프로그래밍
Algorithm/이.코.테 2023. 6. 3. 15:51

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 다이나믹 프로그래밍 다이나믹 프로그래밍(Dynamic Programming)은 문제를 여러 하위 문제(subproblem)로 나누고, 각 하위 문제의 해결 방법을 저장하며 문제를 푸는 기법입니다. 중복되는 하위 문제들을 다시 계산하지 않고 이전에 계산한 결과를 재활용하여 효율적으로 문제를 해결할 수 있습니다. 연습문제 ㅇ

article thumbnail
05 범위를 반씩 좁혀가는 탐색
Algorithm/이.코.테 2023. 6. 3. 15:51

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 이진탐색 이진 탐색(Binary Search)은 정렬된 배열에서 특정한 값을 찾는 탐색 알고리즘입니다. 배열의 중간에 있는 원소와 찾고자 하는 값을 비교하여 탐색 범위를 반으로 줄여가며 값을 찾아나갑니다. 이진 탐색은 배열이 정렬되어 있어야만 사용할 수 있습니다. 연습문제 ㅇ

article thumbnail
04 기준에 따라 데이터를 정렬
Algorithm/이.코.테 2023. 6. 3. 15:51

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 정렬 데이터를 정렬하는 데는 다양한 기준과 알고리즘이 사용됩니다. 데이터를 기준에 따라 정렬하는 일반적인 알고리즘 중 몇 가지를 소개하겠습니다: 버블 정렬 (Bubble Sort): 인접한 두 원소를 비교하고 필요한 경우 위치를 교환하여 정렬하는 알고리즘입니다. 가장 큰 (또는 작은) 원소가 맨 뒤로 이동하는 과정을 반복하면서 정렬됩니다. 삽입 정렬 (Insertion Sort): 배열을 정렬된 부분과 정렬되지 않은 부분으로 나누고, 정렬..

article thumbnail
03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS
Algorithm/이.코.테 2023. 6. 3. 15:50

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 DFS/BFS DFS(Depth-First Search)와 BFS(Breadth-First Search)는 그래프 탐색을 위해 사용되는 두 가지 기본적인 알고리즘입니다. 각각의 알고리즘은 다른 방식으로 그래프를 탐색하며, 서로 다른 상황에 적합한 장단점을 가지고 있습니다. DFS는 깊이를 우선으로 그래프를 탐색하는 알고리즘입니다. 한 노드에서 시작하여 최대한 깊숙히 들어가며 탐색하다가 더 이상 진행할 수 없을 때, 이전 노드로 돌아가서 다..

article thumbnail
02 아이디어를 코드로 바꾸는 구현
Algorithm/이.코.테 2023. 6. 3. 15:50

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 구현 구현하려는 알고리즘에 대해 충분히 이해합니다. 알고리즘의 목적과 요구사항, 입력 및 출력 형식 등을 명확히 이해해야 합니다. 알고리즘 설계: 이제 알고리즘을 구체화해야 합니다. 문제를 해결하기 위한 세부적인 단계와 로직을 설계합니다. 문제 [02_01 [연습문제] 상하좌우 01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05..

01_08 [기출문제] 만들 수 없는 금액
Algorithm/이.코.테문제 2023. 6. 3. 15:50

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 [문제] 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N=5이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리 (화폐 단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N=3이고, 각 동전이 각각 3원, 5원, 7원짜리 (화폐 단위)..

article thumbnail
01 당장 좋은 것만 선택하는 그리디
Algorithm/이.코.테 2023. 6. 3. 15:50

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 그리디 그리디 알고리즘은 매 순간 최적인 방법을 선택하는 알고리즘입니다. 이때 선택한 방법이 전체적인 최적해를 보장하지 않을 수 있습니다. 하지만 많은 경우 그리디 알고리즘이 최적해에 근접한 값을 찾아주기 때문에 많이 사용됩니다. 예를 들어, 동전 거스름돈 문제를 생각해보면, 그리디 알고리즘은 가장 큰 단위의 동전부터 선택하여 거스름돈을 만들 수 있는 최소한의 동전 수를 선택합니다. 이때, 그리디 알고리즘은 항상 최적해를 보장하는 것은 아..

01_07 [기출문제] 문자열 뒤집기
Algorithm/이.코.테문제 2023. 6. 3. 15:46

01 당장 좋은 것만 선택하는 그리디 02 아이디어를 코드로 바꾸는 구현 03 꼭 필요한 자료구조 탐색 알고리즘 DFS/BFS 04 기준에 따라 데이터를 정렬 05 범위를 반씩 좁혀가는 탐색 06 다이나믹 프로그래밍 07 가장 빠른 길 찾기 08 다양한 그래프 알고리즘 문제 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같..