목록Algorithm/Algorithm Study (30)
갬미의 성장일기
본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다. Chapter 10 그래프이론 해당 글의 모든 사진자료는 아래 강의에서 가져온것입니다. 신장트리 그래프에서 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프(트리의 조건과 동일) 신장트리 문제 예시 - 최소한의 비용으로 구성되는 신장트리를 찾아야하는 경우 ex. N개의 도시가 존재하는 상황에서 두 도시 사이에 도로를 놓아 전체 도시가 서로 연결될 수 있게 도로를 설치하는 경우 최소신장 트리를 찾기위한 알고리즘 - 크루스칼 알고리즘 크루스칼 알고리즘 대표적인 최소 신장 트리 알고리즘으로 그리디 알고리즘으로 분류됨 동작 과정 간선 데이터를 비용에따라 오름차순으로 정렬 간선을 하나씩 확인하며 현재의 간선이 사이클을 ..
본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다. Chapter 10 그래프이론 해당 글의 모든 사진자료는 아래 강의에서 가져온것입니다. 서로소 집합 서로소 집합이란 공통 원소가 없는 두 집합을 의미한다 서로소 집합 자료구조 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기위한 자료구조 union, find 두가지 연산으로 조작가능 union: 2개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산 find: 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산 서로소 집합 알고리즘 union (합집합) 연산을 확인하여 서로 연결된 A, B노드를 확인한다 A,B 노드의 루트노드 A', B'를 각각 찾는다 A', B'를 부모 노드로 설정한다 (둘 중 큰수가 작..
본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다. Chapter 9 최단경로 알고리즘 오늘 풀이한 문제 - 최단경로 알고리즘 예제 [백준 11404] 플로이드 문제 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 조건 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번..
본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다. Chapter 9 최단경로 알고리즘 오늘 풀이한 문제 - 최단경로 알고리즘 예제 [이코테 259p] 미래도시 문제 미래 도시에는 1번부터 N번까지의 회사가 있는데 특정 회사끼리는 서로 도로를 통해 연결되어 있다. 방문 판매원 A는 현재 1번 회사에 위치해 있으며, X번 회사에 방문해 물건을 판매하고자 한다. 미래 도시에서 특정 회사에 도착하기 위한 방법은 회사끼리 연결되어 있는 도로를 이용하는 방법이 유일하다. 또한 연결된 2개의 회사는 양방향으로 이동할 수 있다. 공중 미래 도시에서 특정 회사와 다른 회사가 도로로 연결되어 있다면, 정확히 1만큼의 시간으로 이동할 수 있다. 또한 오늘 방문 판매원 A는 기대하던 소개팅..
본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다. 오늘은 아래 첨부된 저자의 동영상 강의를 듣고 글을 작성하였습니다 Chapter 9 최단경로 알고리즘 최단 경로 : 말 그대로 가장 짧은 경로를 찾는 알고리즘, "길 찾기" 문제라고도 불린다 문제 상황 유형 한 지점에서 다른 한 지점까지의 최단경로 한 지점에서 다른 모든 지점까지의 최단경로 모든 지점에서 다른 모든 지점까지의 최단경로 각 지점은 그래프에서 노드로 표현 각 지점을 연결하는 도로는 그래프에서 간선으로 표현 다익스트라 최단 경로 알고리즘과 플로이드 워셜 알고리즘이 많이 등장 하는 유형이다 다익스트라 최단 경로 알고리즘 특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산 음의 간선이 없을때 정상적..
본문은 [이것이 취업을 위한 코딩테스트다 - 나동빈] 책을 공부하고 작성한 글입니다. Chapter 8 다이나믹 프로그래밍 오늘 풀이한 문제 - 다이나믹 프로그래밍 예제 [이코테 381p] 못생긴 수 문제 못생긴 수란 오직 2,3,5만을 소인수로 가지는 수를 의미합니다. 다시 말해, 오직 2,3,5를 약수로 가지는 합성수를 의미합니다. 1은 못생긴수라고 가정합니다. 따라서 못생긴 수들은 {1,2,3,4,5,6,8,9,10,12,15...}순으로 이어집니다. 이때 n번째 못생긴수를 찾는 프로그램을 작성하세요 입력 조건 1