Tags
- stack
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐฑํธ๋ํน
- Dynamic Programming
- ๋๋น ์ฐ์ ํ์
- BOJ
- ๊ตฌํ
- LV2
- ์ํ
- PGM
- queue
- ์๋ฎฌ๋ ์ด์
- DP
- ๊ทธ๋ํ ํ์
- Java
- dfs
- Python
- ๊ทธ๋ํ ์ด๋ก
- ๊ต์ฌ
- ์ ์๋ก
- Study
- ๋ฌธ์์ด
- CodingTest
- ๊น์ด ์ฐ์ ํ์
- SpringBoot
- sort
- greedy
- Brute Force Algorithm
- BFS
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_15654 : N๊ณผ M (5) ๋ณธ๋ฌธ
15654๋ฒ: N๊ณผ M (5)
N๊ฐ์ ์์ฐ์์ ์์ฐ์ M์ด ์ฃผ์ด์ก์ ๋, ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ธธ์ด๊ฐ M์ธ ์์ด์ ๋ชจ๋ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. N๊ฐ์ ์์ฐ์๋ ๋ชจ๋ ๋ค๋ฅธ ์์ด๋ค. N๊ฐ์ ์์ฐ์ ์ค์์ M๊ฐ๋ฅผ ๊ณ ๋ฅธ ์์ด
www.acmicpc.net
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 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 |