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

경이·2024년 5월 30일

𝑩𝑶𝑱 (𝒋𝒔)

목록 보기
44/325

🔴 문제

N과 M(4)


🟡 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 (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개의 댓글