From e09d44a931e51c8378a9c4dc396cf851e756b45e Mon Sep 17 00:00:00 2001 From: monsileI Date: Wed, 22 Jun 2022 17:42:20 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=A4=EB=9E=9C=EB=A7=8C=EC=97=90=20?= =?UTF-8?q?=ED=94=84=EB=A1=9C=EA=B7=B8=EB=9E=98=EB=A8=B8=EC=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Basic_Of_Algorithm/src/test/bfs.java | 50 +++++++++++ Basic_Of_Algorithm/src/test/binarySearch.java | 83 +++++++++++++++++++ Basic_Of_Algorithm/src/test/dungeons.java | 35 ++++++++ 3 files changed, 168 insertions(+) create mode 100644 Basic_Of_Algorithm/src/test/bfs.java create mode 100644 Basic_Of_Algorithm/src/test/binarySearch.java create mode 100644 Basic_Of_Algorithm/src/test/dungeons.java diff --git a/Basic_Of_Algorithm/src/test/bfs.java b/Basic_Of_Algorithm/src/test/bfs.java new file mode 100644 index 0000000..9273400 --- /dev/null +++ b/Basic_Of_Algorithm/src/test/bfs.java @@ -0,0 +1,50 @@ +package test; + +import java.util.Queue; +import java.util.LinkedList; + +public class bfs { + + public static void main(String[] args) { + + int[][]maps = {{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}}; + int answer = 0; + + Queue q= new LinkedList<>(); + + q.add(new int[] {0,0}); + + int[][]temp = new int[maps.length][maps[0].length]; + + temp[0][0] = 1; + + int[][]move = {{1,0},{0,1},{-1,0},{0,-1}}; + + while(!q.isEmpty()) { + int []cur = q.poll(); + + int i = cur[0]; + int j = cur[1]; + + for(int d=0;d<4;d++) { + int newI = i + move[d][0]; + int newJ = j + move[d][1]; + + if(newI<0||newJ<0||maps.length-1>infoMap = new HashMap<>(); + + public static void main(String[] args) { + + String[]info = {"java backend junior pizza 150","python frontend senior chicken 210","python frontend senior chicken 150","cpp backend senior pizza 260","java backend junior chicken 80","python backend senior chicken 50"}; + String[]query = {"java and backend and junior and pizza 100","python and frontend and senior and chicken 200","cpp and - and senior and pizza 250","- and backend and senior and - 150","- and - and - and chicken 100","- and - and - and - 150"}; + + int[]answer = new int[query.length]; + + + + for(String str : info) { + + String[]temp = str.split(" "); + dfs(temp,0,""); + + } + + for(int i=0;i list = new ArrayList<>(infoMap.get(temp[0])); + + Collections.sort(list); + + int start = 0; + int end = list.size()-1; + int score = Integer.parseInt(temp[1]); + + + + while(start<=end) { + + int mid = (start+end)/2; + + if(score>list.get(mid)) start = mid+1; + else end = mid-1; + + } + + + return list.size()-start; + } + + static void dfs(String[]temp,int count,String now) { + + if(count==4) { + if(!infoMap.containsKey(now)) { + infoMap.put(now, new ArrayList()); + } + infoMap.get(now).add(Integer.parseInt(temp[4])); + return; + } + + dfs(temp,count+1,now+temp[count]); + dfs(temp,count+1,now+"-"); + + + + } + +} diff --git a/Basic_Of_Algorithm/src/test/dungeons.java b/Basic_Of_Algorithm/src/test/dungeons.java new file mode 100644 index 0000000..e46061e --- /dev/null +++ b/Basic_Of_Algorithm/src/test/dungeons.java @@ -0,0 +1,35 @@ +package test; + +public class dungeons { + + static int answer = 0; + + public static void main(String[] args) { + + int k = 80; + int [][] dungeons = {{80,20},{50,40},{30,10}}; + boolean[] visited = new boolean[dungeons.length]; + + dfs(visited,dungeons,k,0); + + System.out.println(answer); + + } + + static void dfs(boolean[]visited,int[][]dungeons,int k,int count) { + + + for(int i=0;i