From 22bdf6d56b52f3f796b4e2e34a3bffa97b756364 Mon Sep 17 00:00:00 2001 From: monsileI Date: Sun, 15 May 2022 23:16:26 +0900 Subject: [PATCH 1/2] small test --- .../src/Today_22_05_15/bfs.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 Basic_Of_Algorithm/src/Today_22_05_15/bfs.java diff --git a/Basic_Of_Algorithm/src/Today_22_05_15/bfs.java b/Basic_Of_Algorithm/src/Today_22_05_15/bfs.java new file mode 100644 index 0000000..949ae98 --- /dev/null +++ b/Basic_Of_Algorithm/src/Today_22_05_15/bfs.java @@ -0,0 +1,57 @@ +package Today_22_05_15; + +import java.util.LinkedList; +import java.util.Queue; + +public class bfs { + + public static void main(String[] args) { + + int sb = 5; + int bro = 17; + + + + Queue q = new LinkedList<>(); + + int[] position = new int[100001]; + + + position[sb] = 0; + + q.add(sb); + + while(!q.isEmpty()) { + + + int p = q.poll(); + + if(position[bro]!=0) break; + + if(position[p-1] ==0 && p-1>=0) { + position[p-1] = position[p] + 1; + q.add(p-1); + } + + if(position[p+1] ==0 && p+1<=position.length) { + position[p+1] = position[p] + 1; + q.add(p+1); + + } + if(position[p*2] ==0 && p*2<=position.length) { + position[p*2] = position[p] + 1; + q.add(p*2); + + } + + + } + + if(sb==bro) position[bro] = 0; + System.out.println(position[bro] + " 초"); + + + + } + +} From e46107e34a3cc3e2d241002919a347cfe81e4d94 Mon Sep 17 00:00:00 2001 From: monsileI Date: Mon, 16 May 2022 18:52:03 +0900 Subject: [PATCH 2/2] =?UTF-8?q?bfs=20=EC=A4=91=EC=A0=90=EC=A0=81=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EA=B3=B5=EB=B6=80=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Today_22_05_16/test.java | 51 +++++++++++++++++ .../src/Today_22_05_16/test2.java | 56 +++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 Basic_Of_Algorithm/src/Today_22_05_16/test.java create mode 100644 Basic_Of_Algorithm/src/Today_22_05_16/test2.java diff --git a/Basic_Of_Algorithm/src/Today_22_05_16/test.java b/Basic_Of_Algorithm/src/Today_22_05_16/test.java new file mode 100644 index 0000000..f01b73d --- /dev/null +++ b/Basic_Of_Algorithm/src/Today_22_05_16/test.java @@ -0,0 +1,51 @@ +package Today_22_05_16; + +import java.util.LinkedList; +import java.util.Queue; + +public class test { + + public static void main(String[] args) { + + int a = 5; + int b = 17; + + int[]visited = new int[10001]; + + + Queue q = new LinkedList<>(); + + visited[a] = 0; + + q.add(a); + + while(!q.isEmpty()) { + + int now = q.poll(); + + if(visited[b]!=0 || now >=10000) break; + + if(now-1>=0 && visited[now-1] ==0) { + visited[now-1] = visited[now] + 1; + q.add(now-1); + } + + if(now+1<=10000 && visited[now+1] ==0) { + visited[now+1] = visited[now] + 1; + q.add(now+1); + } + + if(now*2<=10000 && visited[now*2] ==0) { + visited[now*2] = visited[now] + 1; + q.add(now*2); + } + + } + + + + System.out.println(visited[b]); + + } + +} diff --git a/Basic_Of_Algorithm/src/Today_22_05_16/test2.java b/Basic_Of_Algorithm/src/Today_22_05_16/test2.java new file mode 100644 index 0000000..6b7cce6 --- /dev/null +++ b/Basic_Of_Algorithm/src/Today_22_05_16/test2.java @@ -0,0 +1,56 @@ +package Today_22_05_16; + +import java.util.Queue; +import java.util.LinkedList; + +public class test2 { + + public static void main(String[] args) { + + + int [][] map = {{1,0,1,1,1},{1,0,1,0,1},{1,0,1,1,1},{1,1,1,0,1},{0,0,0,0,1}}; + + + Queue q = new LinkedList<>(); + + int [][] temp = new int[map.length][map[0].length]; + + temp[0][0] = 1; + + q.add(new int[] {0,0}); + + int [][] move = {{0,1},{1,0},{0,-1},{-1,0}}; + + while(!q.isEmpty()) { + + int []c = q.poll(); + + int ci = c[0]; + int cj = c[1]; + + for(int d=0;d<4;d++) { + + int ni = ci + move[d][0]; + int nj = cj + move[d][1]; + + if(ni<0||nj<0||map.length-1