From a1ac8e1b816e65bd5cbc29616f2e5823759415bb Mon Sep 17 00:00:00 2001 From: TiiJay Date: Sat, 30 Nov 2024 12:08:15 +0100 Subject: [PATCH] v.2.0.2 doBacktracking return Matrix-String --- .../src/n-dame-problem.controller.ts | 18 +++++++++++++++--- package.json | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/apps/n-dame-problem/src/n-dame-problem.controller.ts b/apps/n-dame-problem/src/n-dame-problem.controller.ts index 09e0135..7946eea 100644 --- a/apps/n-dame-problem/src/n-dame-problem.controller.ts +++ b/apps/n-dame-problem/src/n-dame-problem.controller.ts @@ -38,8 +38,20 @@ export class NDameProblemController { @Query('starting-position', new DefaultValuePipe(-1), ParseIntPipe) startingPosition: number, ) { - return this.nDameProblemService - .doBacktracking(startingPosition, modelSize) - .map((row) => row.map((col) => (col ? 'X' : '.'))); + const backtrackMatrix: boolean[][] = + this.nDameProblemService.doBacktracking(startingPosition, modelSize); + + const resultMatrix = backtrackMatrix.map((row: boolean[]) => + row.map((b: boolean) => (b ? ' X' : ' .')), + ); + const verticalLine = ' '.concat(''.padStart(modelSize * 2, '_'), ' '); + const resultMatrixStr = '\n|'.concat( + resultMatrix.map((row) => row.join('').concat('|\n')).join('|'), + ); + + return verticalLine.concat( + resultMatrixStr, + verticalLine.replaceAll('_', '~'), + ); } } diff --git a/package.json b/package.json index 8618184..662eff5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "backtracking", - "version": "2.0.1", + "version": "2.0.2", "description": "", "author": "", "private": true,