๋ฐ˜์‘ํ˜•
JuneBee
JuneBee
JuneBee
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (102)
    • ๐Ÿ‘” JOB (10)
      • ์ „ํ˜• ํ›„๊ธฐ (10)
    • ๐ŸŽฎ GAME (9)
      • ์ ค๋‹ค | ์™•๊ตญ์˜ ๋ˆˆ๋ฌผ ๊ฒŒ์ž„ ์ผ๊ธฐ (9)
    • ๐Ÿ““ STUDY (60)
      • JAVA (15)
      • TIL (2)
      • FASTCAMPUS (32)
      • ํ™˜๊ฒฝ์„ค์ • (2)
      • YOCTO (1)
      • OS (4)
      • ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ ์ธ ์•ก์…˜ (2)
    • ๐ŸŽงDAILY (6)
    • ๐Ÿ‡ฉ๐Ÿ‡ช GERMAN (17)
      • ๋Œ€ํ•™์› ์ง€์› (3)
      • ์ง€์› ํ›„๊ธฐ (11)
      • ๋…์ผ์–ด ์‹œํ—˜ (3)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ์ผ์ƒ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ •๋ ฌ
  • ๋…์ผ์–ด
  • ํŒจ์ŠคํŠธ์บ ํผ์Šคํ›„๊ธฐ
  • ์œ ํ•™
  • bruteforce
  • ์‹ธํ”ผ
  • ์ž๋ฃŒ๊ตฌ์กฐ
  • ํ”Œ๋ ˆ์ด์ผ๊ธฐ
  • Java
  • ์ ค๋‹ค
  • ๋ชจํ—˜์ผ๊ธฐ
  • SSAFY
  • ์ง์žฅ์ธ์ž๊ธฐ๊ณ„๋ฐœ
  • ๋…์ผ
  • ๋…์ผ์œ ํ•™
  • ํ•œ๋ฒˆ์—๋๋‚ด๋Š”์ฝ”๋”ฉํ…Œ์ŠคํŠธ369JavaํŽธ์ดˆ๊ฒฉ์ฐจํŒจํ‚ค์ง€Online.
  • ๋ฐฑํŠธ๋ž˜ํ‚น
  • ํŒจ์ŠคํŠธ์บ ํผ์Šค
  • ์ง์žฅ์ธ์ธ๊ฐ•
  • ๊ฒŒ์ž„์ผ๊ธฐ
  • ํŒจ์บ ์ฑŒ๋ฆฐ์ง€
  • ํฌ๋ฃจ์Šค์นผ
  • B1
  • ์™•๊ตญ์˜๋ˆˆ๋ฌผ
  • sort
  • ์™•๋ˆˆ
  • ์„์‚ฌ
  • ์ทจ์—…์ค€๋น„
  • C/C++
  • telc

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
JuneBee

JuneBee

ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 9์ผ์ฐจ
๐Ÿ““ STUDY/FASTCAMPUS

ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 9์ผ์ฐจ

2021. 11. 9. 22:21
728x90
๋ฐ˜์‘ํ˜•

๋‚ ์งœ : 2021 ๋…„ 11 ์›” 9 ์ผ
์‹œ์ฒญ ๊ฐ•์˜ : 01. ์–ด๋–ป๊ฒŒ๋“  ํ‘ผ๋‹ค. ์™„์ „ ํƒ์ƒ‰ (Brute Force)

์™„์ „ํƒ์ƒ‰

๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ์ „๋ถ€ ํƒ์ƒ‰

4๊ฐ€์ง€ ๋ฌธ์ œ ์œ ํ˜•์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Œ.

[๋ฌธ์ œ์œ ํ˜•]
1. N๊ฐœ์˜ ์›์†Œ ์ค‘ ์ค‘๋ณต ์—†์ด  M ๊ฐœ๋ฅผ ์ˆœ์„œ์žˆ๊ฒŒ ๋‚˜์—ด
2. N๊ฐœ์˜ ์›์†Œ ์ค‘ ์ค‘๋ณต ์—†์ด  M ๊ฐœ๋ฅผ ๊ณ ๋ฅด๊ธฐ
3. N๊ฐœ์˜ ์›์†Œ ์ค‘ ์ค‘๋ณต ํ—ˆ์šฉํ•˜์—ฌ M ๊ฐœ๋ฅผ ์ˆœ์„œ์žˆ๊ฒŒ ๋‚˜์—ด
4. N๊ฐœ์˜ ์›์†Œ ์ค‘ ์ค‘๋ณต ํ—ˆ์šฉํ•˜์—ฌ M ๊ฐœ๋ฅผ ๊ณ ๋ฅด๊ธฐ

์™„์ „ํƒ์ƒ‰์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ๋ฐฑํŠธ๋ž˜ํ‚น์ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š”๋ฐ dfs๋Š” ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž„

๋”ฐ๋ผ์„œ, ์™„์ „ํƒ์ƒ‰์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜๋Š” ๊ฒฝ์šฐ์—,

public static void recurrsive(int depth){
	//์žฌ๊ท€
}

public static void main(String[] args){
	recurrsive(0);
}

์œ„์˜ ํ˜•ํƒœ๊ฐ€ ์ž์ฃผ ์“ฐ์ธ๋‹ค.

๋‚˜๋Š” ์™„ํƒ์€ ๋ณดํ†ต ์ˆœ์—ด, ์กฐํ•ฉ, ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ dfs๋ฅผ ํ™œ์šฉํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ์ข€ ๋œ ๋‚ ๊ฒƒ๊ฐ™์•„์„œ ์•ž์œผ๋กœ ๋˜๋„๋ก dfs๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค.

 

์•ž์„œ ์ œ์‹œํ•œ 4๊ฐ€์ง€ ๋ฌธ์ œ ์œ ํ˜•์„ ์•„๋ž˜ ๋ฌธ์ œ๋“ค๋กœ ์—ฐ์Šตํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

N๊ณผ M (3) https://www.acmicpc.net/problem/15651
N๊ณผ M (1) https://www.acmicpc.net/problem/15649
N๊ณผ M (4) https://www.acmicpc.net/problem/15652
N๊ณผ M (2) https://www.acmicpc.net/problem/15650

 

N ๊ณผ M (1)

์ค‘๋ณต ์—†์ด M ๊ฐœ๋ฅผ ๊ณ ๋ฅด๋Š” ์ˆ˜์—ด: ์ด๋ฏธ ๊ณ ๋ฅธ ์›์†Œ๋Š” ๊ณ ๋ฅผ ์ˆ˜ ์—†์Œ

์ˆ˜์—ด์€ ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•จ

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
 * @author June Park
 * @date 11/09/2021
 * N๊ณผ M (1) ๋ฌธ์ œ : N ๊ฐœ ์ค‘ M ๊ฐœ๋ฅผ ์ค‘๋ณต ์—†์ด ๋ฝ‘์Œ
 * */
public class BOJ_15649_N๊ณผM1 {
	static int N,M ,num[];
	static boolean visited[];
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		N = Integer.parseInt(st.nextToken()); //N๊ฐœ ์ค‘
		M = Integer.parseInt(st.nextToken()); //M๊ฐœ๋ฅผ ๋ฝ‘๋Š”๋‹ค
		num = new int [M];				  	  //๋ฐฉ๋ฌธํ•œ ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์„ ๋ฐฐ์—ด
		visited = new boolean[N+1];			  //๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
		dfs(0);
	}
	
	
	private static void dfs(int depth) {
		if(depth == M) {					 //M๊ฐœ๋ฅผ ๋ฝ‘์Œ
			for(int i =0 ; i < M ; i++) {
				System.out.print(num[i]+" ");
			}
			System.out.println();
			return;
		}
		for(int i = 1 ; i <= N ;i ++) {
			//์กฐ๊ฑด
			if(visited[i]) continue;
				visited[i] = true; //๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
				num[depth] = i;//ํ˜„์žฌ 
				dfs(depth+1);//์žฌ๊ท€
				visited[i] = false;//release
			
		}
		
	}

}

 

N๊ณผ M(2)

package com.fastcamp.backtracking;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
 * @author June Park
 * @date 11/09/2021
 * ์ค‘๋ณต ์—†์ด M ๊ฐœ๋ฅผ ๊ณ ๋ฆ„
 * ์˜ค๋ฆ„์ฐจ์ˆœ
 * */
public class BOJ_15650_N๊ณผM2 {
	static int N,M ,num[];
	static boolean visited[];
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		N = Integer.parseInt(st.nextToken()); //N๊ฐœ ์ค‘
		M = Integer.parseInt(st.nextToken()); //M๊ฐœ๋ฅผ ๋ฝ‘๋Š”๋‹ค
		num = new int [M];				  	  //๋ฐฉ๋ฌธํ•œ ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์„ ๋ฐฐ์—ด
		visited = new boolean[N+1];			  //๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
		dfs(0);
	}
	private static void dfs(int depth) {
		if(depth == M) {
			for(int i:num)System.out.print(i+" ");
			System.out.println();
			return;
		}
		
		for(int i = 1; i<= N ;i ++) {
			if(visited[i]) continue;
			if(depth>0 && num[depth-1]>i)continue;
			//Else:
			visited[i] = true;
			num[depth] = i;
			dfs(depth+1);
			visited[i] = false;
		}
		
	}
	

}

N๊ณผ M(3)

package com.fastcamp.backtracking;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

/**
 * @author June Park
 * @date 11/09/2021
 * N๊ณผ M (3) : ์ค‘๋ณต ํ—ˆ์šฉ
 * */
public class BOJ_15651_N๊ณผM3 {
	static int N,M ,num[];
	static BufferedWriter bw;
	//static boolean visited[];
	public static void main(String[] args) throws Exception {
		bw = new BufferedWriter(new OutputStreamWriter(System.out));
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		N = Integer.parseInt(st.nextToken()); //N๊ฐœ ์ค‘
		M = Integer.parseInt(st.nextToken()); //M๊ฐœ๋ฅผ ๋ฝ‘๋Š”๋‹ค
		num = new int [M];				  	  //๋ฐฉ๋ฌธํ•œ ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์„ ๋ฐฐ์—ด
		//visited = new boolean[N+1];			  //๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
		br.close();
		dfs(0);
		bw.flush();
		bw.close();
	}
	private static void dfs(int depth) throws IOException {
		if(depth == M ) {
			for(int i : num)bw.write(i+" ");// System.out.print(i+" "); 
			bw.write("\n");
			return;
		}
		for(int i = 1 ;i <=N ;i ++) {
			//visited ํ•„์š” ์—†์Œ
			num[depth] = i;
			dfs(depth+1);
		}
		
	}
	
}

 

์œ„ 3๋ฒˆ ๋ฌธ์ œ๋Š” bufferedWriter๋ฅผ ์“ฐ์ง€ ์•Š์œผ๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

๋”ฐ๋ผ์„œ, bw์— write ํ•œ ํ›„์— main์—์„œ ํ•œ๋ฒˆ์— flushํ•˜๊ณ  ๋‹ซ์•„์ฃผ๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ ์—๋Ÿฌ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

N๊ณผ M(4)

package com.fastcamp.backtracking;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

/**
 * @author June Park
 * @date 11/09/2021
 * N๊ณผ M (4) : ์ค‘๋ณต ํ—ˆ์šฉ
 * ๋น„๋‚ด๋ฆผ์ฐจ์ˆœ : ์ค‘๋ณต์€ ํ—ˆ์šฉ(2 2 ๊ฐ€๋Šฅ)๋˜๋‚˜ 2 1 ์€ ๋ถˆ๊ฐ€
 * */
public class BOJ_15652_N๊ณผM4 {
	static int N,M ,num[];
	static BufferedWriter bw;
	//static boolean visited[];
	public static void main(String[] args) throws Exception {
		bw = new BufferedWriter(new OutputStreamWriter(System.out));
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		N = Integer.parseInt(st.nextToken()); //N๊ฐœ ์ค‘
		M = Integer.parseInt(st.nextToken()); //M๊ฐœ๋ฅผ ๋ฝ‘๋Š”๋‹ค
		num = new int [M];				  	  //๋ฐฉ๋ฌธํ•œ ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ์„ ๋ฐฐ์—ด
		//visited = new boolean[N+1];			  //๋ฐฉ๋ฌธ์ฒ˜๋ฆฌ
		br.close();
		dfs(0);
		bw.flush();
		bw.close();
	}
	private static void dfs(int depth) throws IOException {
		if(depth == M) {
			for(int i : num)bw.write(i+" ");
			bw.write("\n");
			return;
		}
		for(int i = 1 ; i<= N ;i ++) {
			//๋ฐฉ๋ฌธ์กฐ๊ฑด ํ•„์š”์—†์Œ
			if(depth!=0 && num[depth-1]>i)continue; //์ด์ „ ์›์†Œ๊ฐ€ ์ง€๊ธˆ๋ณด๋‹คํฌ๋ฉด skip
			num[depth]= i;
			dfs(depth+1);
			
		}
		
	}
}

 

 

์ด๋ฒˆ ๋ฌธ์ œ๋“ค์„ ํ’€๋ฉด์„œ dfs ๋ฅผ ์ข€ ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋œ ๊ฒƒ ๊ฐ™๋‹ค.

 


ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ๋ฐ”๋กœ๊ฐ€๊ธฐ๐Ÿ‘‰ https://bit.ly/3FVdhDa

 

์ˆ˜๊ฐ•๋ฃŒ 100% ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ | ํŒจ์ŠคํŠธ์บ ํผ์Šค

๋”ฑ 5์ผ๊ฐ„ ์ง„ํ–‰๋˜๋Š” ํ™˜๊ธ‰์ฑŒ๋ฆฐ์ง€๋กœ ์ˆ˜๊ฐ•๋ฃŒ 100% ํ™˜๊ธ‰๋ฐ›์œผ์„ธ์š”! ๋” ๋Šฆ๊ธฐ์ „์— ์ž๊ธฐ๊ณ„๋ฐœ ๋ง‰์ฐจ ํƒ‘์Šน!

fastcampus.co.kr

๋ณธ ํฌ์ŠคํŒ…์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค ํ™˜๊ธ‰ ์ฑŒ๋ฆฐ์ง€ ์ฐธ์—ฌ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ““ STUDY > FASTCAMPUS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 11์ผ์ฐจ  (0) 2021.11.11
ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 10์ผ์ฐจ  (0) 2021.11.10
ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 8์ผ์ฐจ  (0) 2021.11.08
ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 7์ผ์ฐจ  (0) 2021.11.07
ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 6์ผ์ฐจ  (0) 2021.11.06
    '๐Ÿ““ STUDY/FASTCAMPUS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 11์ผ์ฐจ
    • ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 10์ผ์ฐจ
    • ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 8์ผ์ฐจ
    • ํŒจ์ŠคํŠธ์บ ํผ์Šค ์ฑŒ๋ฆฐ์ง€ 7์ผ์ฐจ
    JuneBee
    JuneBee
    โ‚Šหš.๐ŸŽง๐Ÿ““ ๊ธฐ๋ก์šฉ ๋ธ”๋กœ๊ทธ ๐“‚ƒ๐Ÿ–Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”