새소식

Baekjoon

[BaekJoon] 15649 번 N과 M (1) 문제 - (nodejs)

  • -
728x90
문제 번호 :  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배정도 더 걸린 것으로 나왔다. 이유가 궁금해서 채점 현황의 속도빠른 사람들의 코드를 리뷰해보았는데, 방식이 똑같았다. 아직 무엇이 원인인지 파악하지 못했다ㅠㅠ..

 

도움이 되셨다면 공감 부탁드립니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.