Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/backJoon_antenna.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package Today_22_05_26;

import java.util.Scanner;

import java.util.Arrays;

public class backJoon_antenna {

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;i<n;i++) arr[i] = scan.nextInt();

Arrays.sort(arr);

int answer = 0;


if(n%2==0) {
int one = 0;
int two = 0;

for(int i=0;i<arr.length;i++) {
one += Math.abs(arr[arr.length/2] - arr[i]);

}

System.out.println(arr.length/2);
for(int i=0;i<arr.length;i++) {
two += Math.abs(arr[(arr.length/2)-1] - arr[i]);
}

answer = Math.min(one, two);


}else {

for(int i=0;i<arr.length;i++) {

answer += Math.abs(arr[arr.length/2-1] - arr[i]);

}

}


System.out.println(answer);

}
}
85 changes: 85 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/backJoon_color.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
package Today_22_05_26;

public class backJoon_color {

public static void main(String[] args) {

String [] color = {"RRRBB","GGBBB","BBBRR","BBRRR","RRRRR"};
char[][] map = new char[color.length][color[0].length()];

boolean[][] visited = new boolean[map.length][map[0].length];
boolean[][] visited2 = new boolean[map.length][map[0].length];

int normal = 0;
int special = 0;


for(int i=0;i<color.length;i++) {
for(int j=0;j<color[0].length();j++) {
map[i][j] = color[i].charAt(j);
}
}


for(int i=0;i<map.length;i++) {
for(int j=0;j<map[0].length;j++) {
if(!visited[i][j]) {
dfs(visited,map,i,j);
normal++;
}
}
}
System.out.println(normal);

for(int i=0;i<map.length;i++) {
for(int j=0;j<map[0].length;j++) {
if(map[i][j]=='R') map[i][j]='G';
}
}

for(int i=0;i<map.length;i++) {
for(int j=0;j<map[0].length;j++) {
if(!visited2[i][j]) {
dfs(visited2,map,i,j);
special++;
}
}
}



System.out.println(special);

}

static void dfs(boolean[][]visited, char[][]map,int i,int j) {

visited[i][j] = true;


int[][]move = {{0,1},{1,0},{0,-1},{-1,0}};


for(int d=0;d<4;d++) {

int newI = i + move[d][0];
int newJ = j + move[d][1];

if(newI<0||newJ<0||map.length-1<newI||map[0].length-1<newJ) continue;

if(map[i][j]==map[newI][newJ] && !visited[newI][newJ]) {
dfs(visited,map,newI,newJ);
}

}









}
}
47 changes: 47 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/backJoon_combination.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package Today_22_05_26;

import java.util.*;

public class backJoon_combination {


public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

int n = scan.nextInt();
int m = scan.nextInt();
int [] arr = new int[n];

for(int i=0;i<n;i++) arr[i] = i+1;



combi(arr,m,"");






}

static void combi(int[]arr,int count,String now) {


if(count==0) {
System.out.println(now);
return;
}



for(int i=0;i<arr.length;i++) {
String newOne = arr[i]+ " " + now;
combi(arr,count-1,newOne);
}



}
}
70 changes: 70 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/programmers_bruteForce.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
package Today_22_05_26;

import java.util.*;

public class programmers_bruteForce {

static int answer = 0;
static Set<Integer>set = new HashSet<>();


public static void main(String[] args) {


String numbers = "17";



boolean[]visited = new boolean[numbers.length()];

dfs(numbers,visited,"");

System.out.println(set.size());
System.out.println(set);

}

static void dfs(String numbers,boolean [] visited,String now) {

if(!now.isEmpty()) {


int temp = Integer.parseInt(now);
boolean flag = true;

if(temp==2) flag = true;
else if(temp==1 || temp==0) flag = false;


for(int i=2;i<=Math.sqrt(temp);i++) {

if(temp%i==0) {
flag = false;
break;
}

}

if(flag) set.add(temp);
}




for(int i = 0 ; i<numbers.length();i++) {

if(!visited[i]) {
visited[i] = true;
String newOne = now + numbers.charAt(i);
dfs(numbers,visited,newOne);
visited[i] = false;
}


}



}

}
39 changes: 39 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/rightBigNumber.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package Today_22_05_26;

import java.util.Stack;

public class rightBigNumber {

public static void main(String[] args) {

int []arr = {1,5,3,0,2};

Stack<Integer> temp = new Stack<>();
Stack<Integer> pra = new Stack<>();

//5 3 2 2 0

for(int i=arr.length-1;i>-1;i--) {

int num = arr[i];

while(!temp.isEmpty() && num>= temp.peek()) {
temp.pop();
}

if(temp.isEmpty()) {
pra.add(-1);
}else {
pra.add(temp.peek());
}

temp.add(num);




}

}

}
35 changes: 35 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/test.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package Today_22_05_26;

import java.util.*;

public class test {

public static void main(String[] args) {


int[]arr = {3,7,1,5};
//-1 5 -1 7 stack

Stack<Integer>temp = new Stack<>();
Stack<Integer>ans = new Stack<>();


for(int i=arr.length-1;i>-1;i--) {

int num = arr[i];


while(!temp.isEmpty()&&num>=temp.peek()) temp.pop();


if(temp.isEmpty()) ans.add(-1);
else ans.add(temp.peek());

temp.add(num);

}


System.out.println(ans);
}
}
48 changes: 48 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_26/twoPointer.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package Today_22_05_26;

import java.util.*;

public class twoPointer {

public static void main(String[] args) {

int [] two = {1,1,2,2,3,3};
//1,1,2,2,3,5,7
int target = 4;
int answer = 0;
//답 = 2
int start = 0;
int end = two.length-1;
Arrays.sort(two);



while(start<=end) {


int sum = two[start] + two[end];

if(sum<target) start++;
else if(start==end) break;
else end--;


if(target==sum)answer++;



}


System.out.println(answer);








}

}
Loading