Tags
- greedy
- Study
- LV2
- ์ ๋ ฌ
- Java
- ๋ฌธ์์ด
- ์ํ
- DP
- ๊ต์ฌ
- Brute Force Algorithm
- queue
- SpringBoot
- dfs
- BOJ
- CodingTest
- ๊น์ด ์ฐ์ ํ์
- ๊ตฌํ
- PGM
- Python
- ์๋ฃ๊ตฌ์กฐ
- ์ ์๋ก
- ๋ฐฑํธ๋ํน
- ๊ทธ๋ํ ์ด๋ก
- stack
- BFS
- sort
- ๊ทธ๋ํ ํ์
- Dynamic Programming
- ๋๋น ์ฐ์ ํ์
- ์๋ฎฌ๋ ์ด์
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_15656 : N๊ณผ M (7) ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- n๊ฐ์ ์ ์ค์์ m๊ฐ์ ์๋ฅผ ๊ณจ๋ผ ์ถ๋ ฅํ๋ค.
- ์ฌ์ ์ ์ ๋ ฌ๋ก ์ถ๋ ฅํ๋ค.
- ์์ ์ค๋ณต์ ํ์ฉํ๋ค.
- ๋จ, ์์์ ์์๊ฐ ์์ ํ ๊ฐ์ ๊ฒฝ์ฐ๋ ์๋๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
private static void dfs(int[] arr, ArrayList<Integer> pick, int n, int m, StringBuilder sb) {
if (pick.size() == m) {
for (int i : pick) {
sb.append(i + " ");
}
sb.append("\n");
return;
}
for (int i = 0; i < n; i++) {
pick.add(arr[i]);
dfs(arr, pick, n, m, sb);
pick.remove(pick.size()-1);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
Arrays.sort(arr);
ArrayList<Integer> pick = new ArrayList<>();
StringBuilder sb = new StringBuilder();
dfs(arr, pick, n, m, sb);
System.out.print(sb.toString());
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n๊ฐ์ ์๋ฅผ ๋ฐฐ์ด์ ์ ์ฅํ๊ณ ์ฌ๊ท ๋ฉ์๋๋ก ์๋ฅผ ๊ณจ๋ผ ArrayList์ ์ ์ฅํ๋ค.
- ArrayList์ ์๊ฐ m๊ฐ๊ฐ ๋๋ฉด ์ถ๋ ฅํ๋ค.
- ๋น ๋ฅธ ์ถ๋ ฅ์ ์ํด StringBuilder๋ฅผ ์ฌ์ฉํ๋ค.
๐ธ end ๐ธ
- N๊ณผ M ์๋ฆฌ์ฆ๋ ์ต์ํด์ ธ์ ์ฌ๊ท ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋๊ฑด ๊ฐ๋จํ์ง๋ง, ์ถ๋ ฅ๋๋ฌธ์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฌ๋ค.
- StringBuilder๋ฅผ ์ฌ์ฉํด์ ํด๊ฒฐํ๋๋ฐ, ๊ผญ ์ต๋๊ฐ์ ๋ฃ์ด๋ณด๋ ๊ฑธ ์ต๊ดํ ํด์ผ๊ฒ ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_14501 : ํด์ฌ (0) | 2022.12.17 |
---|---|
BOJ_15657 : N๊ณผ M (8) (0) | 2022.12.15 |
BOJ_15351 : ์ธ์ ์ ์ (0) | 2022.12.14 |
BOJ_15654 : N๊ณผ M (5) (0) | 2022.12.14 |
BOJ_15652 : N๊ณผ M (4) (0) | 2022.12.11 |