재귀
-
Q. 15654 자바 : N과M(5)코딩테스트/백준_Java 2023. 4. 24. 22:59
Q. 15654 자바 : N과M(5) 문제 : boj.kr/15654 실버 3 난이도의 문제이다. N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. - N개의 자연수 중에서 M개를 고른 수열을 출력하는 문제이다. 주의해야 할 점은 수열은 사전 순으로 증가하는 순서로 출력한다 라는 내용 때문에 수열을 입력 받은 뒤 정렬이 한번 필요하다. 이 문제는 백트래킹과 재귀함수를 이용해 풀었고, 이전 계산한 결과를 배열에 저장하고, 깊이가 최대일 때 까지 탐색을 완료하면 저장한 결과를 출력하는 방식으로 풀었다. 시간 복잡도를 계산하면, M과 N이 최대 8이므로 1. 계산 - O(N^M) 2. 출력 - O(NM) ..