๋ฐ์ํ
Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- np.zeros_like
- java
- Extended Slices
- ์ ํ ํฌ ํ์ด์ฌ
- ํฉํ ๋ฆฌ์ผ ์ง๋ฒ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ง ๊ฐ ์์ธก ๋ถ์
- jdbc
- ์์ด
- ์ต์
- PYTHON
- ๋ฐ์ค๊ทธ๋ํ
- Do it
- 2BPerfect
- ์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉํ ์คํธ๋ค
- ๋ฐฑ์ค
- ์ด์ง์ ๋ณํ
- ๋ธ๋ผ์ฐ์ ์คํ
- ํ์ ๋ณ์
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ
- mysql
- Do_it
- BFS
- DFS
- sql
- matplotlib
- ์๋ฐ
- ์ฐธ์กฐ ๋ณ์
- MacOS
- dacon
Archives
- Today
- Total
๐ฆ ๊ณต๋ฃก์ด ๋์!
[์์ด] Swap์ ์ด์ฉํ ์์ด ๋ณธ๋ฌธ
๋ฐฐ์ด์ ์ฒซ ๊ฐ๋ถํฐ ์์๋๋ก ํ๋์ฉ ๋ฐ๊พธ๋ฉฐ ๋ชจ๋ ๊ฐ์ ํ ๋ฒ์ฉ swap
depth๋ฅผ ๊ธฐ์ค ์ธ๋ฑ์ค๋ก ํ์ฌ depth๋ณด๋ค ์ธ๋ฑ์ค๊ฐ ์์ ๊ฐ๋ค์
๊ทธ๋๋ก ๊ณ ์ ํ๊ณ depth๋ณด๋ค ์ธ๋ฑ์ค๊ฐ ํฐ ๊ฐ๋ค๋ง ๊ฐ์ง๊ณ ๋ค์ swap
์์๊ฐ ๋ณด์ฅ๋์ง ์์ ๋ง์ง๋ง 321,312 ๋ถ๋ถ
public class Permutation {
public static void main(String[] args) {
int n = 3;
int[] arr = {1, 2, 3};
int[] output = new int[n];
//boolean[] visited = new boolean[n];
// visited๋ฅผ ์ด์ฉํ ์์ด์์ ์ค๋ช
์์
// perm(arr, output, visited, 0, n, 3);
// System.out.println();
permutation(arr, 0, n, 3);
}
// ์์ ์์ด n ๊ฐ์ค์์ r ๊ฐ๋ฅผ ๋ฝ๋ ๊ฒฝ์ฐ
// ์ฌ์ฉ ์์: permutation(arr, 0, n, 3);
static void permutation(int[] arr, int depth, int n, int r) {
if (depth == r) {
print(arr, r);// 3๊ฐ ๋ฝ์ ๋ ์ถ๋ ฅ
return;
}
for (int i=depth; i<n; i++) {
swap(arr, depth, i); // ์ฌ๊ธฐ์ ์ค์ง์ ์ผ๋ก ๋ฐ๋์ด์ง
permutation(arr, depth + 1, n, r); //์ฌ๊ท ํจ์ ํธ์ถ
swap(arr, depth, i); // ๋ฐ๊พผ ๊ฒ์ ์ ์์น
}
}
static void swap(int[] arr, int depth, int i) { // ์์น ๋ฐ๊พธ๋ ๋ฉ์๋
int temp = arr[depth]; // ์๋ ์๋ ์ซ์ ์์ ๋ณ์์ ์ ์ฅ
arr[depth] = arr[i]; // depth๊ฐ 1์ด๊ณ i๊ฐ 2์ผ๋ ์ฒ์ ๋ฐ๋
arr[i] = temp; // ์๋ฆฌ๋ฅผ ๋ฐ๊ฟ
}
static void print(int[] arr, int r) { // ์ถ๋ ฅ ๋ฉ์๋
for (int i = 0; i < r; i++)
System.out.print(arr[i] + " ");
System.out.println();
}
}
//๊ฒฐ๊ณผ
//๊ทธ๋ฆผ๊ณผ ๊ฐ์
1 2 3 // ๊ทธ๋๋ก ์ถ๋ ฅ
1 3 2 // ๋ ์๋ฆฌ ๋ค๋ฐ๊ฟ์ ์ถ๋ ฅ
2 1 3 // ์ฒซ ์๋ฆฌ์ ๋๋ฒ์งธ ์๋ฆฌ ๋ฐ๊พธ๊ณ ์ถ๋ ฅ
2 3 1 // ๋ ์๋ฆฌ ๋ค๋ฐ๊ฟ์ ์ถ๋ ฅ
3 2 1 // ์ฒซ ์๋ฆฌ์ ๋๋ฒ์งธ ์๋ฆฌ ๋ฐ๊พธ๊ณ ์ถ๋ ฅ
3 1 2 // ๋ ์๋ฆฌ ๋ค๋ฐ๊ฟ์ ์ถ๋ ฅ
์ถ์ฒ : https://bcp0109.tistory.com/14
์์ด Permutation (Java)
์์ด ์ฐ์ต ๋ฌธ์ ์์ด์ด๋ n ๊ฐ์ ๊ฐ ์ค์์ r ๊ฐ์ ์ซ์๋ฅผ ๋ชจ๋ ์์๋๋ก ๋ฝ๋ ๊ฒฝ์ฐ๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 2, 3] ์ด๋ผ๋ 3 ๊ฐ์ ๋ฐฐ์ด์์ 2 ๊ฐ์ ์ซ์๋ฅผ ๋ฝ๋ ๊ฒฝ์ฐ๋ [1, 2] [1, 3] [2, 1] [2, 3] [3,
bcp0109.tistory.com
๋ฐ์ํ
'Development > CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] Java ์์์ฐพ๊ธฐ (0) | 2021.12.25 |
---|---|
[์์ด] Visited๋ฅผ ์ด์ฉํ ์์ด (0) | 2021.12.24 |
[๋ฐฑ์ค] Java ์ซ์์นด๋ 2 (0) | 2021.12.20 |
[ํ๋ก๊ทธ๋๋จธ์ค] Java ๋ชจ์๊ณ ์ฌ (0) | 2021.12.16 |
[ํ๋ก๊ทธ๋๋จธ์ค] Java ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (2) | 2021.12.14 |
Comments