01-08 08:57
Recent Posts
Recent Comments
Tags
- ํ์ด์๊ณต๋ชจ์
- SQL
- JOBํ๊ณ
- Java
- ์จ์ผ๋ํ
- Spring
- ์คํฝ์ค๋น
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- DATABASE
- API๋ง์ผํ๋ ์ด์ค
- ์๋ฐ
- RaspberryPi
- DB
- linux
- ํ์ด์
- ict๊ณต๋ชจ์
- python
- ํ์ด์ฌ
- appetizer
- ์กํ๊ณ
- ํ๋ก๋ณด๋ ธ
- mysql
- ICT
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์คํฝ๋ ํ
- ICT๋ฉํ ๋ง
- TSQL
- Naver Cloud
- ์๋์ด๋ ธ
- ์ด๋ธ์
- Today
- Total
miinsun
[Algorithm]์๊ณ ๋ฆฌ์ฆ ์๋ฐ_62 ๋ฏธ๋ก ํ์ (DFS) ๋ณธ๋ฌธ
๐ฌ ๋ฌธ์ ์ค๋ช
7*7 ๊ฒฉ์ํ ๋ฏธ๋ก๋ฅผ ํ์ถํ๋ ๊ฒฝ๋ก์ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ถ๋ฐ์ ์ ๊ฒฉ์์ (1, 1) ์ขํ์ด๊ณ , ํ์ถ ๋์ฐฉ์ ์ (7, 7)์ขํ์ด๋ค. ๊ฒฉ์ํ์ 1์ ๋ฒฝ์ด๊ณ , 0์ ํต๋ก์ด๋ค.
๊ฒฉ์ํ์ ์์ง์์ ์ํ์ข์ฐ๋ก๋ง ์์ง์ธ๋ค.
๋ฏธ๋ก๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค๋ฉด, ์ง๋์์ ์ถ๋ฐ์ ์์ ๋์ฐฉ์ ๊น์ง ๊ฐ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ 8๊ฐ์ง์ด๋ค.
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ - 7*7 ๊ฒฉ์ํ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋๋ค.
0 0 0 0 0 0 0
0 1 1 1 1 1 0
0 0 0 1 0 0 0
1 1 0 1 0 1 1
1 1 0 0 0 0 1
1 1 0 1 1 0 0
1 0 0 0 0 0 0
์ถ๋ ฅ - ์ฒซ ๋ฒ์งธ ์ค์ ๊ฒฝ๋ก์ ๊ฐ์ง์๋ฅผ ์ถ๋ ฅํ๋ค.
8
๐ป Solution.java
import java.util.*;
public class Main {
static int[][] board = new int[7][7];
static int[] dx = {-1, 0, 1, 0};
static int[] dy = {0, 1, 0, -1};
static int sum = 0;
public void DFS(int cx, int cy) {
if(cx == 6 && cy == 6) {
sum++;
return;
}
else {
for(int i = 0; i < 4; i++) {
int nx = cx + dx[i];
int ny = cy + dy[i];
//๊ฐ ์ ์๋ ๊ฒฝ๊ณ์ ์ง์
if(nx >= 0 && nx <= 6 && ny >= 0 && ny <= 6 && board[nx][ny] == 0) {
board[nx][ny] = 1;
DFS(nx, ny);
board[nx][ny] = 0;
}
}
}
}
public static void main(String[] args){
Main main = new Main();
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 7; i++) {
for(int j = 0; j < 7; j++) {
board[i][j] = sc.nextInt();
}
}
board[0][0] = 1;
main.DFS(0, 0);
System.out.println(sum);
sc.close();
return ;
}
}
'Algorithm > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments