javascript
[JS 알고리즘] Toy 7 - treeDFS
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.04.01 문제 임의의 tree를 구성하는 노드 중 하나의 Node 객체를 입력받아, 해당 노드를 시작으로 깊이 우선 탐색(DFS, Depth First Search)을 합니다. 이 때, 탐색되는 순서대로 노드의 값이 저장된 배열을 리턴해야 합니다. 입력 인자 1 : node 'value', 'children' 속성을 갖는 객체 (Node) 'node.value'는 number 타입 'node.children'은 Node를 요소로 갖는 배열 출력 배열을 리턴해야 합니다. 주의사항 생성자 함수(Node)와 메소드(addChild)는 변경하지 않아야 합니다. 입출력 ..
[JS 알고리즘] Toy 6 - sudoku 스도쿠
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.04.07 문제 스도쿠는 숫자 퍼즐로, 가로 9칸, 세로 9칸으로 이루어져 있는 표에 1부터 9까지의 숫자를 채워 넣는 퍼즐입니다. 퍼즐을 푸는 방법은 아홉 가로줄, 세로줄, 3X3 칸에 1에서 9까지의 숫자를 중복되지 않게 한 번씩만 넣으면 됩니다. 일부 칸이 비어있는 상태인 스도쿠 보드를 입력받아 스도쿠 퍼즐이 완성된 보드를 리턴해야 합니다. 입력 인자 1 : board 가로 길이(board[i].length)와 세로 길이(board.length)가 모두 9인 2차원 배열 matrix[i][j]는 1 이상 9 이하의 자연수 출력 가로와 세로의 길이가 모두 9인..
[JS 알고리즘] Toy 5 - tiling 타일링
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.04.06 문제 세로 길이 2, 가로 길이 n인 2 x n 보드가 있습니다. 2 x 1 크기의 타일을 가지고 이 보드를 채우는 모든 경우의 수를 리턴해야 합니다. 입력 인자 1 : n number 타입의 1 이상의 자연수 출력 number 타입을 리턴해야 합니다. 주의사항 타일을 가로, 세로 어느 방향으로 놓아도 상관없습니다. (입출력 예시 참고) 입출력 예시 let output = tiling(2); console.log(output); // --> 2 output = tiling(4); console.log(output); // --> 5 /* 2 x 4 보드..
[JS 알고리즘] Toy 4 - bubbleSort
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.04.01 문제 정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다. 버블 정렬(bubble sort)은 여러 정렬 알고리즘(삽입 정렬, 퀵 정렬, 병합 정렬, 기수 정렬 등) 중 가장 기본적인 알고리즘입니다. 버블 정렬 알고리즘은 아래와 같습니다. 첫 번째 요소가 두 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap) 두 번째 요소와 세 번째 요소보다 크면, 두 요소의 위치를 바꿉니다. (swap) 1, 2를 마지막까지 반복합니다. (마지막에서 두 번째 요소와 마지막 요소를 비교) 1~3의 과정을 한 번 거치게 되면, 가장 큰 요..
[JS 알고리즘] Toy 3 - isSubsetOf
노션에서 마이그레이션 중이며, 순서는 랜덤하게 업로드하고 있습니다. 해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.04.01 문제 두 개의 배열(base, sample)을 입력받아 sample이 base의 부분집합인지 여부를 리턴해야 합니다. 입력 number 타입을 요소로 갖는 임의의 배열 base.length는 100 이하 인자 2 : sample number 타입을 요소로 갖는 임의의 배열 sample.length는 100 이하 인자 1 : base 출력 boolean 타입을 리턴해야 합니다. 주의사항 base, sample 내에 중복되는 요소는 없다고 가정합니다. 입출력 예시 let base = [1, 2, 3, 4, 5]; let sample = [1, 3]; let..
[JS 알고리즘] Toy 23 - spiralTraversal
해당 문제는 코드스테이츠의 Toy problem을 출처로 합니다. 2022.05.13 문제 2차원 M x N 배열을 나선형(spiral)으로 순회해야 합니다. 입력 인자 1 : matrix 세로 길이(matrix.length)가 M, 가로 길이(matrix[i].length)가 N인 2차원 배열 matrix[i]는 string 타입을 요소로 갖는 배열 matrix[i][j].length는 1 출력 string 타입을 리턴해야 합니다. 주의사항 순회는 좌측 상단 (0,0)에서 시작합니다. 배열의 모든 요소를 순서대로 이어붙인 문자열을 리턴해야 합니다. 입출력 예시 let matrix = [ ['A', 'B', 'C'], ['D', 'E', 'F'], ['G', 'H', 'I'], ]; let output ..