[알고리즘/javascript][DFS / BFS] 연결된 정점들
연결된 정점들 문제 방향이 없는 간선들의 목록이 주어질 때, 연결된 정점의 컴포넌트(그룹들)가 몇 개인지 반환하는 함수를 작성하세요. 입력 인자 1: edges 2차원 Array 타입을 요소로 갖는 시작과 도착 정점이 담겨있는 배열들을 담고 있는 목록 (2차원 배열, 정수 요소) ex) [[0, 1], [1, 2], [3, 4]] 출력 Number 타입을 리턴해야 합니다. 연결된 정점의 컴포넌트의 수를 숫자로 반환합니다. 주의 사항 주어진 간선은 무향입니다. [1, 2] 는 정점 1에서 정점 2로도 갈 수 있으며, 정점 2에서 정점 1로도 갈 수 있습니다. 입출력 예시 const result = connectedVertices([ [0, 1], [2, 3], [4, 5], ]); console.log(r..
[알고리즘/javascript][Graph] 인접 행렬 길찾기
인접 행렬 길찾기 문제 주어진 인접행렬에서 한 정점으로부터 다른 정점으로 이어지는 길이 존재하는지 반환해야 합니다. 입력 인자 1: matrix Array 타입을 요소로 갖는 인접 행렬이 담긴 2차원 배열 인자 2: from Number 타입의 시작 정점 인자 3: to Number 타입의 도착 정점 출력 boolean 타입을 리턴해야 합니다. 입출력 예시 const result = getDirections( [ [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0], ], 0, 2 ); console.log(result); // true // 정점 0에서 2로 가는 길이 존재하는지 확인합니다. // 0 --> 1 로 가는 간선이 존재하고, 1 --> 2 로 가..
[알고리즘/javascript]uglyNumbers
문제 아래와 같이 정의된 ugly numbers 중 n번째 수를 리턴해야 합니다. ugly number는 2, 3, 5로만 나누어 떨어지는 수이다. 1은 1번째 ugly number 이다. 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, ... 입력 인자 1 : n number 타입의 자연수 (n >= 1) 출력 number 타입을 리턴해야 합니다. 주의사항 ugly numbers를 배열에 저장했을 때, n번째 ugly number의 위치는 인덱스 n-1 입니다. 입출력 예시 let result = uglyNumbers(1); console.log(result); // --> 1 result = uglyNumbers(3); console.log(result); // --> 3 Ad..
[알고리즘/javascript] getItemFromTwoSortedArrays
문제 길이가 m, n이고 오름차순으로 정렬되어 있는 자연수 배열들을 입력받아 전체 요소 중 k번째 요소를 리턴해야 합니다. 입력 인자 1 : arr1 자연수를 요소로 갖는 배열 arr1.length는 m 인자 2 : arr2 자연수를 요소로 갖는 배열 arr2.length는 n 인자 3 : k number 타입의 0 이상의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 두 배열의 길이의 합은 1,000,000 이하입니다. 어떤 배열 arr의 k번째 요소는 arr[k-1]을 의미합니다. 입출력 예시 let arr1 = [1, 4, 8, 10]; let arr2 = [2, 3, 5, 9]; let result = getItemFromTwoSortedArrays(arr1, arr2, 6); cons..