티스토리 뷰

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

 

15666번: N과 M (12)

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

www.acmicpc.net

const input = require('fs').readFileSync('./dev/stdin').toString().trim().split('\n').map(v=>v.trim())
const [N,M] = input[0].split(' ').map(Number);
const nums = [...new Set(input[1].split(' '))].map(Number).sort((a,b)=>a-b);

const answer = [];

for(let i = 0; i<N; i++){
  solve([nums[i]])
}

console.log(answer.join('\n'))

function solve(arr){
  if(arr.length==M){
    answer.push(arr.join(' '))
  }else{
    for(let i = 0; i<nums.length; i++){
      if(arr[arr.length-1]<=nums[i])
        solve([...arr,nums[i]])
    }
  }
}
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함