From eca5b346fe83ef7cc6a0bd20779b2c04bcb3e599 Mon Sep 17 00:00:00 2001 From: monsileI Date: Fri, 27 May 2022 22:08:24 +0900 Subject: [PATCH] =?UTF-8?q?=ED=97=B7=EA=B0=88=EB=A6=AC=EB=8A=94=20?= =?UTF-8?q?=EC=97=AC=EB=9F=AC=EA=B0=80=EC=A7=80=20binarySearch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Today22_05_27/binarySearchNo01.java | 73 ++++++++++++++++ .../src/Today22_05_27/binarySearchNo2.java | 86 +++++++++++++++++++ .../src/Today22_05_27/binarySearchNo3.java | 61 +++++++++++++ .../src/Today22_05_27/binarySearchNo4.java | 62 +++++++++++++ .../src/Today22_05_27/bracket.java | 52 +++++++++++ .../src/Today22_05_27/catchAndHide.java | 62 +++++++++++++ .../Today22_05_27/programmers_lv_2_no1.java | 62 +++++++++++++ .../Today22_05_27/programmers_lv_2_no2.java | 50 +++++++++++ .../src/Today22_05_27/rightBigNumber.java | 43 ++++++++++ .../Today_22_05_26/backJoon_number_card2.java | 71 +++++++++++++++ 10 files changed, 622 insertions(+) create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo01.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo2.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo3.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo4.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/bracket.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/catchAndHide.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/programmers_lv_2_no1.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/programmers_lv_2_no2.java create mode 100644 Basic_Of_Algorithm/src/Today22_05_27/rightBigNumber.java create mode 100644 Basic_Of_Algorithm/src/Today_22_05_26/backJoon_number_card2.java diff --git a/Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo01.java b/Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo01.java new file mode 100644 index 0000000..6a02db3 --- /dev/null +++ b/Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo01.java @@ -0,0 +1,73 @@ +package Today22_05_27; + +import java.util.Arrays; +import java.util.Scanner; + +public class binarySearchNo01 { + + public static void main(String[] args) { + + Scanner scan = new Scanner(System.in); + + int n = scan.nextInt(); + + int[]arr = new int[n]; + + for(int i=0;i1) answer[i] = 1; + + } + + for(int i : answer)System.out.println(i); + + + } + + static int binary(int num,int[] arr) { + + + int start = 0; + int end = arr.length-1; + int count = 0; + + while(start<=end) { + + int mid = (start+end) / 2; + + if(num>=arr[mid]) start = mid+1; + else if(start==end)break; + else if(num=arr[mid]) start = mid+1; + else end = mid-1; + + } + + return start; + + } + + static int lowerSearch(int num, int []arr) { + + int start = 0; + int end = arr.length-1; + + while(start<=end) { + + + + int mid = (start+end)/2; + + + + if(num>arr[mid]) start = mid+1; + else end = mid-1; + + + + + } + + return start; + + } +} diff --git a/Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo3.java b/Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo3.java new file mode 100644 index 0000000..fa7ef11 --- /dev/null +++ b/Basic_Of_Algorithm/src/Today22_05_27/binarySearchNo3.java @@ -0,0 +1,61 @@ +package Today22_05_27; + +import java.util.Scanner; +import java.util.Arrays; + +public class binarySearchNo3 { + + public static void main(String[] args) { + + Scanner scan = new Scanner(System.in); + + int k = scan.nextInt(); + int n = scan.nextInt(); + + int[]arr = new int[k]; + + for(int i =0;i 0) { + temp += (arr[i]-mid); + } + } + + + if(temp stack = new Stack<>(); + + for(int j=0;jq = new LinkedList<>(); + + + q.add(new int[] {n,m,0}); + + + while(!q.isEmpty()) { + + int[]cur = q.poll(); + + int cn = cur[0]; + int cm = cur[1]; + + + if(cn==cm) break; + + if(cn>100000) break; + + + if(cm+1<10000 && check[cm+1]==0) { + check[cm+1] = check[cm] +1; + q.add(new int[] {cn,cm+1}); + } + + if(cm-1>0 && check[cm-1]==0) { + check[cm-1] = check[cm] +1; + q.add(new int[] {cn,cm-1}); + } + + if(cm*2<10000 && check[cm*2]==0) { + check[cm*2] = check[cm] +1; + q.add(new int[] {cn,cm*2}); + } + + } + + + System.out.println(check[n]); + + + + + } +} diff --git a/Basic_Of_Algorithm/src/Today22_05_27/programmers_lv_2_no1.java b/Basic_Of_Algorithm/src/Today22_05_27/programmers_lv_2_no1.java new file mode 100644 index 0000000..d9fece7 --- /dev/null +++ b/Basic_Of_Algorithm/src/Today22_05_27/programmers_lv_2_no1.java @@ -0,0 +1,62 @@ +package Today22_05_27; + +public class programmers_lv_2_no1 { + + static int[]answer; + static int[]num = new int[2]; + + public static void main(String[] args) { + + + int[][]arr = {{1,1,1,1,1,1,1,1},{0,1,1,1,1,1,1,1},{0,0,0,0,1,1,1,1},{0,1,0,0,1,1,1,1},{0,0,0,0,0,0,1,1},{0,0,0,0,0,0,0,1},{0,0,0,0,1,0,0,1},{0,0,0,0,1,1,1,1}}; + + answer = new int[2]; + + + change(0,0,arr, arr.length); + + + + answer = num.clone(); + + System.out.println(answer[0]); + System.out.println(answer[1]); + } + + + static void change(int x,int y,int[][]arr,int size) { + + + if(check(x,y,arr,size)) { + num[arr[x][y]]++; + return; + } + + + + change(x, y,arr,size/2); + change(x+size/2, y,arr,size/2); + change(x, y+size/2,arr,size/2); + change(x+size/2, y+size/2,arr,size/2); + + + } + + static boolean check(int x,int y,int[][]arr,int size) { + + for(int i=x;i q = new PriorityQueue<>(); + + + for(int i : scoville) q.offer(i); + + + while(k>q.peek()) { + + if(q.size()<2)break; + + + int first = q.poll(); + int second = q.poll(); + + int newOne = first + (second*2); + + q.offer(newOne); + answer++; + + + } + + + System.out.println(answer); + + + + } + + + + +} diff --git a/Basic_Of_Algorithm/src/Today22_05_27/rightBigNumber.java b/Basic_Of_Algorithm/src/Today22_05_27/rightBigNumber.java new file mode 100644 index 0000000..35bf413 --- /dev/null +++ b/Basic_Of_Algorithm/src/Today22_05_27/rightBigNumber.java @@ -0,0 +1,43 @@ +package Today22_05_27; + +import java.util.*; + +public class rightBigNumber { + + public static void main(String[] args) { + + int arr[] = {3,5,2,7}; + int []answer = new int[arr.length]; + + Stack tmp = new Stack<>(); + Stack ans = new Stack<>(); + + for(int i=arr.length-1;i>-1;i--) { + + int num = arr[i]; + + + while(!tmp.isEmpty() && num>=tmp.peek()) { + tmp.pop(); + } + + if(tmp.isEmpty()) { + ans.add(-1); + }else { + ans.add(tmp.peek()); + } + + tmp.add(num); + + + + + } + System.out.println(ans); + + for(int i=0;i=num) { + end = mid; + }else { + start = mid+1; + } + + } + + return start; + } + static int upperBound(int num,int []arr) { + + + int start = 0; + int end = arr.length; + + + while(startnum) { + end = mid; + }else { + start = mid+1; + } + + } + + return start; + } + +}