문제 번호 : 15649
문제 바로가기 ☞ https://www.acmicpc.net/problem/15649
<<< 문제 내용 >>>
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\n');
const NM = input[0].split(' ');
let visited = new Array(Number(NM[0])).fill(0);
let arr = [];
dfs(0);
function dfs(count/*재귀횟수*/){
if(count === Number(NM[1])){
console.log(arr.join(' '));
return;
}
for(let i=0;i<NM[0];i++){
//console.log(`i = ${i}, arr = ${arr}, count = ${count}, visited= ${visited}`);
if(visited[i] !== 1){
visited[i] = 1;
arr.push(i+1);
dfs(count+1);
arr.pop();
visited[i] = 0;
}
}
}
* 다른사람들보다 시간이 10배정도 더 걸린 것으로 나왔다. 이유가 궁금해서 채점 현황의 속도빠른 사람들의 코드를 리뷰해보았는데, 방식이 똑같았다. 아직 무엇이 원인인지 파악하지 못했다ㅠㅠ..
도움이 되셨다면 공감 부탁드립니다.