Baekjoon [BaekJoon] 2210 번 숫자판 점프 문제 - (nodejs) - 728x90 문제 번호 : 2210번문제 바로가기 ☞ https://www.acmicpc.net/problem/2210 <<< 문제 내용 >>> const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString().trim().split('\r\n'); // 표준입력 테스트를 위해 이렇게 했지만 제출을 위해서는 // split('\r\n') 에서 \r은 제거하고 제출해야합니다. const tables = input.map(el=> el.split(' ')); let visited = Array.from(Array(tables.length), () => Array(tables.length).fill(0)); let arr = []; const dy = [-1,1,0,0]; const dx = [0,0,-1,1]; for(let i=0; i< tables.length; i++){ for(let j=0; j<tables.length; j++){ dfs(0, i, j, ''); } } const set = new Set(arr); const setarr = [...set]; console.log(setarr.length); function dfs(count/*재귀횟수*/, y, x, str){ if(count==6){ arr.push(str); return; } else{ str += tables[y][x]; for(let i=0; i<4; i++){ ay = y+ dy[i]; ax = x+ dx[i]; if(ay<0 || ay>=tables.length || ax<0 || ax>=tables.length){ continue; } dfs(count+1, ay, ax, str); } } } * 기본적으로 브루트포스로 전부 찾아야하는 문제입니다. DFS로 탐색하면서 재귀횟수가 6번이되면 멈추도록 하고, 6번이 됐을때 저장된 내용을 기입한 후 함수를 종료합니다. * 고려해야할 점은 중복이 가능하다는 점(visited 사용x)과 배열의 테두리를 넘어가는 방향은 제거해주어야 합니다. 도움이 되셨다면 공감 부탁드립니다. 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기MoveRoad's Factory 저작자표시 (새창열림) Contents 당신이 좋아할만한 콘텐츠 [BaekJoon] 1181 번 단어 정렬 문제 - (nodejs) 2022.01.04 [BaekJoon] 1475 번 방 번호 문제 - (nodejs) 2022.01.04 [BaekJoon] 15649 번 N과 M (1) 문제 - (nodejs) 2022.01.01 [BaekJoon] 1018 번 체스판 다시 칠하기 문제 - (nodejs) 2022.01.01 댓글 0 + 이전 댓글 더보기