02-15 19:31
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[Algorithm]์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”_59 ์ˆœ์—ด ๊ตฌํ•˜๊ธฐ (DFS) ๋ณธ๋ฌธ

Algorithm/Java

[Algorithm]์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž๋ฐ”_59 ์ˆœ์—ด ๊ตฌํ•˜๊ธฐ (DFS)

miinsun 2022. 3. 2. 20:24

 

๐Ÿ’ฌ ๋ฌธ์ œ ์„ค๋ช…

100์ดํ•˜์˜ N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ด ์ค‘ M๊ฐœ๋ฅผ ๋ฝ‘์•„ ์ผ๋ ฌ๋กœ ๋‚˜์—ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋‘ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ”จ ์ž…์ถœ๋ ฅ ์˜ˆ

 

์ž…๋ ฅ - ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N(3<=N<=10)๊ณผ M(2<=M<=N)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์ค„์— N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

3 2
3 6 9

์ถœ๋ ฅ - ์ฒซ ๋ฒˆ์งธ ์ค„์— ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ถœ๋ ฅ ์ˆœ์„œ๋Š” ์‚ฌ์ „์ˆœ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

3 6 
3 9 
6 3 
6 9 
9 3 
9 6

 

 

๐Ÿ’ป Solution.java

import java.util.*;

public class Main {
	static int[] pm, ch, arr;
	static int n, m;
	
	public void DFS(int L) {
		if(L == m) {
			for(int x: pm) System.out.print(x+" ");
			System.out.println();
		}
		else {
			for(int i = 0; i < n; i++) {
				if(ch[i] == 0) {
					ch[i] = 1;
					pm[L] = arr[i];
					DFS(L + 1);
					ch[i] = 0;
				}
			}
		}
 	}
	
	public static void main(String[] args){
		Main main = new Main();
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt(); 
		m = sc.nextInt();
		arr = new int[n];
		
		for(int i = 0; i < n; i++) arr[i] = sc.nextInt();
		
		ch = new int [n];
		pm = new int [m];
				
		main.DFS(0);
		sc.close();
		return ;
	}
}
Comments