Tesseractjh
한 걸음씩
Tesseractjh
전체 방문자
오늘
어제
  • 전체 (293)
    • IT (30)
      • JavaScript (7)
      • TypeScript (5)
      • React (5)
      • Next.js (3)
      • MongoDB (2)
      • Webpack (2)
      • HTML & CSS (1)
      • Git (0)
      • AWS (1)
      • 기타 (4)
    • 연습장 (259)
      • 백준(BOJ) 문제풀이 (185)
      • 프로그래머스 문제풀이 (61)
      • LeetCode 문제풀이 (2)
      • HackerRank 문제풀이 (7)
      • 낙서장 (3)
      • 기타 (1)
    • 프로젝트 (3)
      • 지뢰피하기 (1)
      • 키릴-라틴 문자 변환기 (1)
      • Flex & Grid (1)
    • 멋쟁이사자처럼 프론트엔드 스쿨 1기 (1)
      • 일기 & 회고록 (1)

인기 글

티스토리

hELLO · Designed By 정상우.
Tesseractjh

한 걸음씩

연습장/백준(BOJ) 문제풀이

[백준 15663] N과 M (9) with Node.js

2021. 9. 12. 00:03

문제 링크

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

 

15663번: N과 M (9)

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

www.acmicpc.net

풀이

const solve = (N, M, arr) => {
  const chosen = new Array(N).fill(false);
  const permutation = [];
  const output = [];
  const recursion = () => {
    if (permutation.length === M) {
      output.push(permutation.join(' '));
    } else {
      chosen.forEach((bool, i) => {
        if (!bool) {
          chosen[i] = true;
          permutation.push(arr[i]);
          recursion();
          chosen[i] = false;
          permutation.pop();
        }
      })
    }
  };
  recursion();
  console.log([...new Set(output)].join('\n'));
};

const [ N, M, ...arr ] = require('fs').readFileSync('/dev/stdin').toString().trim().split(/\s+/);
arr.sort((a, b) => a - b);
solve(+N, +M, arr);

이 문제는 [백준 15654] N과 M (5) 문제에서 출력값이 중복되는 것이 없도록 한 것과 같다.

따라서, 위 문제의 해답에서 마지막 출력에서의 중복을 제거해주면 된다.

 

 

저작자표시 비영리 (새창열림)

'연습장 > 백준(BOJ) 문제풀이' 카테고리의 다른 글

[백준 10972] 다음 순열 with Node.js  (0) 2021.12.01
[백준 2294] 동전 2 with Python  (1) 2021.09.28
[백준 2293] 동전 1 with Python  (0) 2021.09.10
[백준 11057] 오르막 수 with Python  (0) 2021.09.09
[백준 9251] LCS with Python  (0) 2021.09.09
    '연습장/백준(BOJ) 문제풀이' 카테고리의 다른 글
    • [백준 10972] 다음 순열 with Node.js
    • [백준 2294] 동전 2 with Python
    • [백준 2293] 동전 1 with Python
    • [백준 11057] 오르막 수 with Python
    Tesseractjh
    Tesseractjh
    바닐라 자바스크립트를 좋아하는 개발자입니다

    티스토리툴바