
문제
풀이
이 문제는 기존 N과 M 문제에서 숫자 배열을 주는 문제이다. 마찬가지로 오름차순으로 정렬해야하는데, 이를 위해 배열을 먼저 오름차순으로 정렬한 후 백트래킹 작업을 수행하였다.
"use strict"
const [[n, m], arr] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(str => str.split(' ').map(Number));
function solution(n, m, arr) {
const answers = [];
const answer = [];
const sArr = arr.sort((a,b)=>a-b);
const isUsed = Array(n).fill(false);
function bt(k) {
if (k === m) return answers.push(answer.join(' '));
for (let i = 0; i < n; i++) {
if (!isUsed[i]) {
answer.push(sArr[i]);
isUsed[i] = true;
bt(k+1);
answer.pop();
isUsed[i] = false;
}
}
}
bt(0);
return answers.join('\n');
}
console.log(solution(n, m, arr));'BOJ > Silver' 카테고리의 다른 글
| [BOJ/백준] 11652번 - 카드 (Javascript / NodeJS) (0) | 2024.01.04 |
|---|---|
| [BOJ/백준] 15663번 - N과 M(9) (Javascript / NodeJS) (1) | 2023.12.23 |
| [BOJ/백준] 15652번 - N과 M(4) (Javascript / NodeJS) (0) | 2023.12.20 |
| [BOJ/백준] 15651번 - N과 M(3) (Javascript / NodeJS) (0) | 2023.12.20 |
| [BOJ/백준] 15650번 - N과 M(2) (Javascript / NodeJS) (0) | 2023.12.20 |