[백준15650_자바스크립트(javascript)] - N과 M(2)

경이·2024년 5월 30일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
42/325

🔴 문제

N과 M(2)


🟡 Sol

const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : 'Wiki\\input.txt';
const [n, m] = fs
  .readFileSync(path)
  .toString()
  .trim()
  .split(' ')
  .map((it) => Number(it));

let answer = '';

const bt = (target, cnt) => {
  if (cnt === m) {
    answer += target + '\n';
    return;
  }
  for (let i = 1; i <= n; i++) {
    if (target.includes(i)) continue;
    if (Number(target.slice(-1)) > i) continue;
    bt(target + ' ' + i, cnt + 1);
  }
};

for (let i = 1; i <= n; i++) {
  bt(i.toString(), 1);
}
console.log(answer);

🟢 풀이

이전문제인 N과 M(1) 과 동일하게 풀어주었다. 다만 재귀호출을 하기전에 오름차순이 맞는지 확인하는 코드 한줄 추가해줬다.

  if (Number(target.slice(-1)) > i) continue;

🔵 Ref

profile
록타르오가르

0개의 댓글