Algorithm 24

[Algorithm] 다이나믹 프로그래밍 타일링 문제 풀어보기 (2/2) (백준 2133번, 14852번 )

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5/lecture/12352 알고리즘의 개요와 실습 환경 구축 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 인프런 알고리즘 강의 22강, 23강에 대한 리뷰이다. 1. 타일 채우기, BaekJoon #2133 (https://www.acmicpc.net/problem/2133) 처음 n - 2 일 때만 3개, n - 4가 2개, n - 6이 2개, ... 로 0번째 일 때까지 -짝수번째 항은 2개의 경우가 존재함. 그래서 식은 3 ..

[Algorithm] 다이나믹 프로그래밍 타일링 문제 풀어보기 (1/2) (백준 11726번, 11727번)

인프런 알고리즘 강의 22강, 23강에 대한 리뷰이다. 1. 2xn 타일링, BaekJoon #11726 백준 dynamic programming 관련 문제 (https://www.acmicpc.net/problem/11726) 참고로 이 문제는 프로그래머스에도 있다. (https://programmers.co.kr/learn/courses/30/lessons/12900) 가로 길이가 1인 직사각형이 붙는 마지막 항은 n - 1 이고 가로 길이가 2인 직사각형이 붙는 마지막 항은 n - 2 이다. 이를 이용하면 재귀함수(n -1) + 재귀함수(n - 2) 를 리턴하면 된다. ** C++ #include int d[1001]; int dp(int x) { if (x == 1) return 1; if (x ..

[Algorithm] 이진 트리의 구현과 순회 알고리즘

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5/lecture/12349 알고리즘의 개요와 실습 환경 구축 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 인프런 알고리즘 강의 20강에 대한 리뷰이다. 이진트리는 비선형 자료구조이고 데이터 탐색 속도 증진을 목적으로 한다. 트리는 배열이나 스택, 큐 등의 자료구조와 달리 데이터를 직관적으로 살펴보기 어렵기 때문에 별도의 순회 알고리즘이 필요하다. Heap 정렬의 경우 완전 이진 트리를 전제로 한다. 불완전한 이진 트리의 경우 데이..

[Algorithm] Kruskal Algorithm (크루스칼 알고리즘)

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5/lecture/12348 알고리즘의 개요와 실습 환경 구축 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 인프런 알고리즘 강의 18강에 대한 리뷰다 크루스칼 알고리즘은 가장 적은 비용으로 모든 노드를 연결해주는 알고리즘이다. 다른 말로 최소 비용 신장 트리(Spanning Tree)라고도 한다. 신장 트리란 하나의 그래프가 있을 때 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프를 의미한다. (트리의 성립 조건은 모든 ..

[Algorithm] Union-Find (합집합 찾기)

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5/lecture/12347 알고리즘의 개요와 실습 환경 구축 - 인프런 | 학습 페이지 지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요.... www.inflearn.com 인프런 알고리즘 강의 18강에 대한 리뷰다. union 연산은 2개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산이다. find 연산은 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산이다. union-find 자료구조는 다른말로 서로소 집합(Disjoint Sets) 자료구조라고도 불린다. * 서로소 집합은 공통 ..

[Algorithm] BFS (너비우선탐색)

** C++ #include #include #include using namespace std; int number = 7; int visited[7]; vector arr[8]; void bfs(int start) { queue q; q.push(start); visited[start] = true; while (!q.empty()) { int x = q.front(); q.pop(); printf("%d ", x); for (int i = 0; i < arr[x].size(); i++) { int y = arr[x][i]; // 인접한 노드 방문 if(!visited[y]) { // 방문한 상태가 아니라면 q.push(y); // 담아주고 visited[y] = true; // 방문처리 } } } ..

[Algorithm] 심화 정렬 알고리즘 문제 풀이 (백준 1181, 1431, 10989)

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5#curriculum [무료] 알고리즘의 개요와 실습 환경 구축 - 인프런 | 강의 알고리즘을 배우며, 실무에서는 알고리즘이 어떻게 활용되는지 알아봅니다., [임베딩 영상] 알고리즘의 개요와 실습 환경 구축 알고리즘은 문제를 해결하는 절차입니다.입력, 출력, 유한성, 명 www.inflearn.com 13강에 대한 리뷰이다. 강의에서는 이론만으로는 코딩테스트나 실전에 적용하기 어려우니 실습이 필요하다고 한다. 그래서 백준 문제를 푼다. 1. 백준 1181 단어 정렬 : https://www.acmicpc.net/problem/1181..

[Algorithm] Heap Sort(힙 정렬)

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5#curriculum [무료] 알고리즘의 개요와 실습 환경 구축 - 인프런 | 강의 알고리즘을 배우며, 실무에서는 알고리즘이 어떻게 활용되는지 알아봅니다., [임베딩 영상] 알고리즘의 개요와 실습 환경 구축 알고리즘은 문제를 해결하는 절차입니다.입력, 출력, 유한성, 명 www.inflearn.com 11강 힙 정렬에 대한 리뷰이다. 9, 10강은 C++ 라이브러리에 관한 내용이라 리뷰를 따로 다루지 않겠다. 1. 소스코드 ** C++ 아래는 강의에서 작성해본 C++ 소스이다. #include int number = 9; int he..

[Algorithm] Merge Sort(병합 정렬)

https://www.inflearn.com/course/algorithm-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%8B%A4%EC%8A%B5#curriculum [무료] 알고리즘의 개요와 실습 환경 구축 - 인프런 | 강의 알고리즘을 배우며, 실무에서는 알고리즘이 어떻게 활용되는지 알아봅니다., [임베딩 영상] 알고리즘의 개요와 실습 환경 구축 알고리즘은 문제를 해결하는 절차입니다.입력, 출력, 유한성, 명 www.inflearn.com 8강 병합정렬에 대한 리뷰이다. 병합정렬도 퀵소트처럼 분할 정렬이다. 하지만 퀵소트에 비해 안정적인 n*logN 의 시간복잡도를 가진다. 분할(divide): 주어진 리스트를 요소 1개가 남을 때까지 절반으로 쪼개는 작업을 거치고 정복(..

반응형