목록백트래킹 (19)
기록방
👉 문제링크 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 🔸 문제 분석 🔸 n이 주어졌을때 1부터 n까지의 수로 이루어진 순열을 사전순으로 출력한다. 🔸 코드 🔸 import java.util.Scanner; import java.util.Stack; public class Main { static Stack stack; private static void dfs(int d, StringBuilder sb) { if (stack.size() == d) { for (int i : stack) { sb.append(i+" "); } sb.append("\n"); } for (int i = 1; i
👉 문제링크 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔸 문제 분석 🔸 n개의 수 중에서 m개를 뽑는 경우의 수를 출력한다. 수열은 중복되면 안되며 비내림차순, 사전순 증가순서이다. 재귀메소드를 사용해서 m개의 수를 고른다. 🔸 코드 🔸 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { private static void dfs(int[] arr, ArrayList pi..
👉 문제링크 15656번: N과 M (7) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔸 문제 분석 🔸 n개의 수 중에서 m개의 수를 골라 출력한다. 사전식 정렬로 출력한다. 원소 중복을 허용한다. 단, 순서와 원소가 완전히 같은 경우는 안된다. 🔸 코드 🔸 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { private static void dfs(int[] arr, ArrayList pick, in..
👉 문제링크 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔸 문제 분석 🔸 n개의 수에서 m개를 고르는 경우의 수를 출력한다. 고른 행렬이 중복되지 않게 한다. 🔸 코드 🔸 import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { private static void dfs(ArrayList pick, int[] arr, int n, int m, int k) { if (pick.si..
👉 문제링크 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔸 문제 분석 🔸 n개의 수에서 m개를 고르는 경우의 수를 출력한다. 고른 수는 중복되면 안된다. 경우의 수들은 사전 순으로 증가하는 순서로 출력한다. 🔸 코드 🔸 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Scanner; import java.util.Stack; public class Main { stat..