[알고리즘/javascript] 바코드
문제 1, 2, 3으로만 이루어진 수열 바코드를 만들어야 합니다. 무조건 1, 2, 3만 붙여서 바코드를 만들었다면 쉬웠겠지만, 아쉽게도 바코드를 만드는 데에 조건이 걸려 있습니다. 바코드에서 인접한 두 개의 부분 수열이 동일하다면 제작할 수 없다고 할 때, 주어진 길이 len의 바코드 중 가장 작은 수를 반환하는 함수를 작성하세요. 만들 수 없는 바코드 만들 수 있는 바코드 112 1312 1231312 3 232312 231213 부분 수열? 주어진 수열에서 연속된 모든 구간을 말합니다. 수열 123의 부분 수열은 1, 2, 3, 12, 23, 123 입니다. 인접한 두 부분 수열? 첫번째 부분 수열과 두번째 부분 수열이 연속된 경우를 말합니다. 수열 1234에서 인접한 부분 수열 (우리는 두 부분수..
[알고리즘/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 로 가..