본문 바로가기

BOJ/백트래킹

BOJ : 15652 n과m (4) (JS)

728x90

소스코드

let fs = require('fs');
const filePath = process.platform === "linux" ? `/dev/stdin` : `예제.txt`; 
let input = fs.readFileSync(filePath).toString().trim().split(' ');
const c = console.log

let lst = []

for (let i=0 ; i < input.length ; i++){
    lst.push(Number(input[i]))
}

n = lst[0]
m = lst[1]

let output = []
let result = ''

dfs = (count) => {
    if (count === m) {
        result += `${output.join(' ')}\n`
        return ;
    }
    
    for (let i = 1; i < n+1 ; i++) {
        if ((i >= output[output.length-1]) || (output.length === 0)) {
            output.push(i)
            dfs(output.length)
            output.pop()
            }
        }
}
dfs(0)
c(result.trim())

 

풀이

n과m(3) 문제에서 조건문을 넣어 오름차순으로 출력이 되게끔 만들어주면 됩니다.

 

문제

https://www.acmicpc.net/problem/15652

 

15652번: N과 M (4)

한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해

www.acmicpc.net

 

728x90

'BOJ > 백트래킹' 카테고리의 다른 글

BOJ : 9663 N-Queen (JS)  (0) 2022.12.26
BOJ : 15651 n과m(3) (JS)  (0) 2022.12.25
BOJ : 15650 n과m(2) (JS)  (2) 2022.12.24
BOJ : 15649 n과m(1) (JS)  (0) 2022.12.24