Tags
- ์ ์๋ก
- SpringBoot
- PGM
- stack
- ๊ต์ฌ
- Dynamic Programming
- DP
- Brute Force Algorithm
- ๊ทธ๋ํ ์ด๋ก
- Study
- sort
- ์๋ฎฌ๋ ์ด์
- Java
- ๋ฌธ์์ด
- greedy
- ๊น์ด ์ฐ์ ํ์
- LV2
- ๋๋น ์ฐ์ ํ์
- CodingTest
- ๊ตฌํ
- ๋ฐฑํธ๋ํน
- dfs
- Python
- ๊ทธ๋ํ ํ์
- BOJ
- ์ํ
- queue
- ์๋ฃ๊ตฌ์กฐ
- BFS
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_15649 : N๊ณผ M (1) ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 1 ๋ถํฐ N ๊น์ง์ ์ ์ค์์ M๊ฐ๋ฅผ ๊ณ ๋ฅด๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋์ดํ๋ค.
- ์์๊ฐ ์๋ ์์ด
- ์๊ฐ ์ค๋ณต๋์ ์ถ๋ ฅ๋๋ฉด ์๋จ
- ์ฌ๊ท ๋ฐฉ์์ผ๋ก ๋ฐฑํธ๋ํน์ ์ ์ฉํด ํ์ดํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
private static void dfs(ArrayList<Integer> arr, int n, int d) {
if (arr.size() == d) {
for (int i : arr) {
System.out.print(i + " ");
}
System.out.println("");
return;
}
for (int i = 1; i <= n; i++) {
if (!arr.contains(i)) {
arr.add(i);
dfs(arr, n, d);
arr.remove(arr.size() - 1);
}
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
ArrayList<Integer> arr = new ArrayList<>();
dfs(arr, n, m);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ArrayListํ arr ๋ฐฐ์ด์ m๊ฐ์ ๊ฐ์ ์ ํํด ๋ฃ๊ณ , ๊ฐ๋์ฐจ๋ฉด ์ถ๋ ฅํ๋ค.
- ์ด๋ฏธ ๋ค์ด๊ฐ ๊ฐ ๊ฐ์ ํฌํจ๋๋ฉด ์๋๋ฏ๋ก arr.contains()๋ก ํ์ธํ๋ค.
๐ธ end ๐ธ
- contains()๋ก ํ์ธํ๋ฉด ํจ์จ์ด ์ข์ง ์์๊ฑฐ๋ผ ์๊ฐํ๊ณ boolean๋ฐฐ์ด visit์ ๋ง๋ค์ด์ ์ฒดํฌํด๋ดค์ง๋ง ๋ 256ms ๋ ๋๋ ค์ง๋๊ฒ์ผ๋ก ๋ํ๋ฌ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_15651 : N๊ณผ M (3) (0) | 2022.12.10 |
---|---|
BOJ_15650 : N๊ณผ M (2) (0) | 2022.12.09 |
BOJ_1002 : ํฐ๋ (0) | 2022.12.07 |
BOJ_14425 : ๋ฌธ์์ด ์งํฉ (0) | 2022.12.06 |
BOJ_1269 : ๋์นญ ์ฐจ์งํฉ (0) | 2022.12.06 |