Tags
- ๋๋น ์ฐ์ ํ์
- DP
- Dynamic Programming
- Brute Force Algorithm
- LV2
- ๊ตฌํ
- ์ํ
- PGM
- sort
- ๊ทธ๋ํ ์ด๋ก
- ๋ฐฑํธ๋ํน
- ๊ทธ๋ํ ํ์
- stack
- ์ ์๋ก
- ์๋ฃ๊ตฌ์กฐ
- ๋ฌธ์์ด
- BFS
- SpringBoot
- Java
- ์๋ฎฌ๋ ์ด์
- ๊ต์ฌ
- ๊น์ด ์ฐ์ ํ์
- greedy
- queue
- BOJ
- CodingTest
- dfs
- Study
- Python
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_15654 : N๊ณผ M (5) ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 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 {
static ArrayList<Integer> arr, pick;
static int n, m;
private static void dfs() {
if (pick.size() == m) {
for (int i : pick) {
System.out.print(arr.get(i) + " ");
}
System.out.println("");
}
for (int i = 0; i < n; i++) {
if (!pick.contains(i)) {
pick.add(i);
dfs();
pick.remove(pick.size()-1);
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
m = sc.nextInt();
arr = new ArrayList<>();
pick = new ArrayList<>();
for (int i = 0; i < n; i++) {
arr.add(sc.nextInt());
}
Collections.sort(arr);
dfs();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ฌ๊ท๋ฉ์๋ dfs๋ก ์๋ฅผ ์ ํํด์ ArrayList์ ์ ์ฅํ๋ค.
- ArrayList์ ์ด๋ฏธ ํฌํจ๋์ด ์๋์ง ํ์ธํ๋ค.
- ArrayList์ ์ ์ฅํ ์๊ฐ m๊ฐ๊ฐ ๋๋ฉด ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์คํ์ผ๋ก ๊ตฌํํด๋ณด๋ ค๊ณ ํ์ง๋ง, ๋๋ฌด ๋ณต์กํด์ง๋ ๊ฒ ๊ฐ์ ์ฌ๊ท ๋ฉ์๋๋ก ๊ตฌํํ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_15656 : N๊ณผ M (7) (0) | 2022.12.14 |
---|---|
BOJ_15351 : ์ธ์ ์ ์ (0) | 2022.12.14 |
BOJ_15652 : N๊ณผ M (4) (0) | 2022.12.11 |
BOJ_15651 : N๊ณผ M (3) (0) | 2022.12.10 |
BOJ_15650 : N๊ณผ M (2) (0) | 2022.12.09 |