Algorithm/BOJ
-
[BOJ] 다음 순열, 이전 순열Algorithm/BOJ 2020. 2. 3. 13:16
순열(Permutation) 크기가 N인 수열은 총 N!개가 존재한다. 순열을 사전 순으로 나열했을 때, 첫 번째 순열은 오름차순, 마지막 순열은 내림차순이다. N = 3인 경우에 사전순은 다음과 같다. 123 132 213 231 312 321 [10972] 다음 순열 https://www.acmicpc.net/problem/10972 1. A[j-1] = i이면서 A[j] > A[i-1]를 만족하는 가장 큰 j를 찾는다. 3. A[j-1]과 A[j]를 swap 한다. 4. A[j]부터 순열을 뒤집는다. 소스코드 import java.util.Scanner; public class Main { public void go() { Scanner sc..
-
[BOJ] N과 M (1) ~ (8)Algorithm/BOJ 2020. 2. 2. 23:00
https://www.acmicpc.net/search#q=n%EA%B3%BC%20m&c=Problems [15649] N과 M (1) - 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 input 4 2 output 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 소스코드 import java.util.Scanner; public class Main { // main function make_permutation(0, n, m); public void make_permutation(int idx, int n, int m) { if (idx == m) { print(a, m); return; } for (int i = 1; i