[알고리즘] C++로 이해하는 위상정렬
·
공부/알고리즘
참고 : https://www.geeksforgeeks.org/topological-sorting/?ref=gcse_outind☑️ C++로 이해하는 위상정렬위상정렬(Topological Sort)은 방향 그래프에서 정점들을 선형으로 정렬하는 알고리즘이다. 풀어서 설명하면 그래프에서 순서가 있는 노드들을 순서대로 나열하는 행동을 한다. 우리가 출근을 하는 과정을 살펴보자.1. 아침에 기상한다.2. 씻는다.3. 옷을 입는다.4. 아침 식사를 한다.5. 필요한 물건을 다 챙겼는지 확인한다.6. 집 밖으로 나선다.이런 과정들을 거쳐서 우리는 회사에 출근할 수 있다. 아침에 기상하는 것을 시작으로 집 밖으로 나서는 과정은 모두 순서대로 이루어진다. 아침에 기상하지 않고 식사를 하거나 집 밖으로 나설 수 없다. ..
[알고리즘] C++로 이해하는 동적 프로그래밍
·
공부/알고리즘
참고 : 알고리즘 문제 해결 전략☑️ C++로 이해하는 동적 프로그래밍동적 프로그래밍(Dynamic Programming)을 부르는 정확한 언어는 동적 계획법이다. 단어는 최적화 문제를 연구하는 수학 이론에서 왔기에 전산학에서 말하는 Dynamic, 혹은 Programming과는 연관이 없다. 하지만 블로그에 작성할 때는 나에게 익숙한 동적 프로그래밍으로 올린다.동적 프로그래밍은 복잡한 문제를 작은 하위 문제로 분할하여 해결하는 알고리즘 설계 방법을 의미한다. 이 방법은 분할 정복과 같은 접근 방식을 가진다. 하위 문제의 해결책을 저장하고 재사용함으로서 계산의 효율성을 높인다. 이때 이미 계산한 값을 저장해 두는 메모리의 장소를 캐시(cache)라고 부르며, 두 번 이상 계산하는 부분 문제를 중복되는 부..
[알고리즘] C++로 이해하는 검색 알고리즘(선형 검색, 이진 검색, 해시법 등)
·
공부/알고리즘
참고 : Do it! 자료구조와 함께 배우는 알고리즘 입문 (파이썬 편)☑️ C++로 이해하는 검색 알고리즘검색 알고리즘은 데이터 집합에서 특정 항목이나 값을 찾기 위해 사용하는 알고리즘이다. 모든 프로그래밍 분야에서 기본적이고 필수적인 알고리즘으로, C++에서는 find 함수를 통해서 검색 알고리즘을 제공하고 있다.  검색 알고리즘은 다양한 방법이 있는데 데이터 집합의 성격에 따라서 알고리즘을 선택하는 것이 중요하다. 1️⃣ 선형 검색 (Linear Search)가장 기본적인 알고리즘은 선형 검색이다. 선형 검색은 배열이나 리스트의 처음부터 끝까지 순차적으로 데이터를 검사하여 원하는 값을 찾는다. 구현이 간단하고 정렬되지 않은 데이터에서도 사용 가능하므로, 많은 분야에서 사용된다. 다만, 큰 데이터 집..
[알고리즘] C++로 이해하는 DFS와 BFS
·
공부/알고리즘
참고 : Introduction to Algorithms☑️ C++로 이해하는 DFS와 BFSDFS/BFS는 그래프(Graph)를 탐색하는 알고리즘을 의미한다. 그래프는 정점(Vertex)과 간선(Edge)을 통해 표현하는 자료구조를 말한다. 1️⃣ DFS (Depth First Search)깊이 우선 탐색(Depth First Search)은 그래프를 탐색할 때, 깊이를 우선시하는 탐색 방법을 의미한다. 그래프를 탐색할 때, 정점 1을 시작으로 하위 정점들을 탐색해나간다. 탐색 우선 순위는 정점과 연결된 정점들을 탐색하고 연결된 정점이 없을 때, 이전으로 이동하여 남은 정점을 확인하고 탐색한다. 이러한 방법을 반복적으로 수행하며 최종적으로 모든 그래프의 정점을 탐색하게 된다. 위 사진에서 DFS를 통해..
#1. 고등학교 게임 개발 강사 후기
·
활동/기타
모교 선생님에게 유니티를 가르칠 사람을 구인하고 있다고 연락이 왔다. 사람을 가르치는 일에 흥미를 갖고 있었고 대학교를 졸업하고 할 일이 없던 나는 수락하게 됐다. 포트폴리오를 전송하고 몇 일이 지나지 않아 합격했다. 담당하게 된 고등학교는 제주도에 위치해 있어서 물리적인 거리가 멀어 비대면으로 계약 시간 만큼 강의하게 됐다. 재능 기부 형태의 강의는 여럿 해봤었지만, 돈을 받고 강의를 하는 경험은 없었기 때문에 두려움은 살짝 있었다. 내가 말을 잘하는 편도 아니고 전공자가 아닌 학생들을 가르치는 경험은 처음이었기 때문이었다. 먼저 커리큘럼 작성을 위해서 전임 선생님의 강의 자료를 기반으로 추가하려고 했으나, 마땅한 자료가 없어 학생들이 만들어 본 게임을 바탕으로 역량을 파악하고 새로운 커리큘럼을 작성했..
[C++, 백준/11724번] 연결 요소의 개수
·
코테/백준
☑️ [C++, 11724번] 연결 요소의 개수1️⃣ 문제2️⃣ 접근크래프톤 정글에서 제공한 문제를 다시 풀고 있다. 블로그에도 Python으로 풀이한 내용을 올린 적이 있는데, 접근 방법이 다르지 않다. [Python, 백준/11724번] 연결 요소의 개수☑️ [Python, 백준/11724번] 연결 요소의 개수1️⃣ 문제https://www.acmicpc.net/problem/11724방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오 2️⃣ 접taeyeokim.tistory.com 그동안 프로그래밍에 소홀해서 그런가 의사 코드를 작성하는 것보다 C++로 풀이하는 것이 어려웠다... 다시 열심히 해보자! 3️⃣ 코드#include..