m * n 차수의 배열이 있다고 가정합니다. 사람은 2차원 배열의 시작 블록(0,0)에서 시작하여 끝(m, n)에 도달하려고 합니다. 제한은 한 번에 한 단계 아래로 또는 한 단계 오른쪽으로 이동할 수 있다는 것입니다.
2차원 그리드의 높이와 너비를 받는 JavaScript 함수를 작성해야 합니다.
함수는 사람이 끝까지 도달할 수 있는 고유 경로의 수를 찾아야 합니다.
예시
다음은 코드입니다 -
const height = 3; const width = 4; const findUniquePath = (width = 1, height = 1) => { const board = Array(height).fill(null).map(() => { return Array(width).fill(0); }); for (let rowIndex = 0; rowIndex < height; rowIndex += 1) { for (let columnIndex = 0; columnIndex < width; columnIndex += 1) { if (rowIndex === 0 || columnIndex === 0) { board[rowIndex][columnIndex] = 1; } } } for (let rowIndex = 1; rowIndex < height; rowIndex += 1) { for (let columnIndex = 1; columnIndex < width; columnIndex += 1) { const uniquesFromTop = board[rowIndex - 1][columnIndex]; const uniquesFromLeft = board[rowIndex][columnIndex - 1]; board[rowIndex][columnIndex] = uniquesFromTop + uniquesFromLeft; } } return board[height - 1][width - 1]; }; console.log(findUniquePath(width, height));
출력
다음은 콘솔의 출력입니다 -
10