Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
c418565
Initial commit
MonsileI May 10, 2022
b22d780
Merge remote-tracking branch 'origin/main'
MonsileI May 11, 2022
91c0b5e
다가오는 코테
MonsileI May 12, 2022
8b6a676
연습
MonsileI May 14, 2022
22bdf6d
small test
MonsileI May 15, 2022
e46107e
bfs 중점적으로 공부하기
MonsileI May 16, 2022
2cf51e5
level_1 and 2 kakao문제 중심으로 다시 연습
MonsileI May 18, 2022
a5eb7c2
레벨 2 , sql 연습 위주
MonsileI May 19, 2022
c0da6db
merge test
MonsileI May 19, 2022
e28db6f
백준 그리디 알고리즘 위주로 공부!
MonsileI May 20, 2022
61644af
bfs vs dfs
MonsileI May 22, 2022
36be2ee
백준 그리디 + 프로그래머스 양궁 , 문자열
MonsileI May 24, 2022
059dcfa
완전 탐색 공부 위주로
MonsileI May 26, 2022
eca5b34
헷갈리는 여러가지 binarySearch
MonsileI May 27, 2022
d937011
오늘 코테가 너무 어려워서 하는 쉬는날에도 코테 연습 ㅠ
MonsileI May 28, 2022
55bea0f
오늘 코테가 너무 어려워서 하는 쉬는날에도 코테 공부 ㅠㅠ
MonsileI May 28, 2022
67132f3
q
MonsileI May 29, 2022
2ab6e77
오랜만에 코테 폭발 ㅋㅋㅋㅋ
MonsileI May 31, 2022
666ac06
카카오, 해시 위장
MonsileI Jun 1, 2022
4bee63b
dijkstra 왤케 어려워
MonsileI Jun 2, 2022
b597316
다익스트라만 복습 어려워 ㅠ
MonsileI Jun 3, 2022
fdb27dc
프로그래머스2단계
MonsileI Jun 7, 2022
ba4ddf5
BFS, 문자열
MonsileI Jun 8, 2022
9c21fdc
06-09
MonsileI Jun 9, 2022
fb1aeb3
한문제 만이라도 ㅠㅠ
MonsileI Jun 10, 2022
c68ea71
collatz에 관해서
MonsileI Jun 15, 2022
537e80d
브루트포스 기본(색약)
MonsileI Jun 16, 2022
4f43b98
내일 시험 ㅠㅠ
MonsileI Jun 17, 2022
9fe3c84
ddd
MonsileI Jun 21, 2022
e09d44a
오랜만에 프로그래머스
MonsileI Jun 22, 2022
680847a
달팽이 문제 - 백준
MonsileI Jun 23, 2022
fecc57e
combination
MonsileI Jun 24, 2022
84e26dc
bfs && dfs
MonsileI Jun 28, 2022
b4bd296
오픈채팅방 ( 맵 )
MonsileI Jun 29, 2022
c126fae
주차하기
MonsileI Jun 30, 2022
c8d2458
dfs 응용문제
MonsileI Jul 1, 2022
e3cfd16
귀납법 증명
MonsileI Jul 4, 2022
fed2a7a
dfs
MonsileI Jul 5, 2022
7c28346
내일 분반 테스트 ㅠㅠ
MonsileI Jul 6, 2022
c3a3f9f
코테 너무 어려워 ㅠㅠ 언제 늘어..
MonsileI Jul 7, 2022
b06ee6c
dfs target
MonsileI Jul 8, 2022
2f053e5
ssafy 사전 학습
MonsileI Jul 9, 2022
06f6b39
해결이 안되네 ..
MonsileI Jul 11, 2022
46b9a39
이게 대체 왜 안되는겨 ㅠㅠ
MonsileI Jul 12, 2022
8f42025
array 복사
MonsileI Jul 19, 2022
07ca1d8
yes test
MonsileI Jul 20, 2022
c8f0b0b
bfs 알고리즘 가지치기
MonsileI Jul 30, 2022
93d564d
sw 역량테스트 bfs
MonsileI Jul 31, 2022
5c55074
다시풀기
MonsileI Sep 16, 2022
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
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

import java.util.LinkedList;
import java.util.Queue;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

import java.util.LinkedList;
import java.util.Queue;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

public class combi_dfs {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

public class dfs {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

import java.util.*;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

import java.util.Arrays;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package Today22_05_11;
package Today_22_05_11;

import java.util.Arrays;

Expand Down
86 changes: 86 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_12/RankingSearch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
package Today_22_05_12;

import java.util.HashMap;
import java.util.ArrayList;
import java.util.Collections;

public class RankingSearch {

static HashMap<String,ArrayList<Integer>> map = 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[]result = new int[query.length];


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

String[]temp = info[i].split(" ");
dfs(temp,0,"");

}
for(String key : map.keySet()) {
Collections.sort(map.get(key));
}

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

query[i] = query[i].replaceAll(" and ", "");

String [] temp = query[i].split(" ");

result[i] = map.containsKey(temp[0]) ? binarySearch(temp[0],temp[1]) : 0;
}

for(int i : result)System.out.println(i);

}

static int binarySearch(String key,String value) {

int score = Integer.parseInt(value);

ArrayList<Integer> list = map.get(key);

int start = 0;

int end = list.size()-1;


while(start<=end) {

int mid = (start+end)/2;

if(score<=list.get(mid)) end = mid-1;
else if(score>list.get(mid)) start = mid+1;


}

return list.size()-start;


}

static void dfs(String[]temp,int count,String now) {


if(count==4) {
if(!map.containsKey(now)) {
map.put(now, new ArrayList<>());
}
map.get(now).add(Integer.parseInt(temp[4]));
return;
}

dfs(temp,count+1,now+"-");
dfs(temp,count+1,now+temp[count]);

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

public class apchuck {

public static void main(String[] args) {

String s = "ababcdcdababcdcd";


int answer = Integer.MAX_VALUE;


for(int i=1;i<=s.length()/2;i++) {


String result = "";
String now = ""; String next = "";
int count = 1;

for(int j=0;j<=s.length()/i;j++) {


int start = j*i;

int end = s.length() > i * (j+1) ? i * (j+1) : s.length();

now = next;

next = s.substring(start,end);

if(now.equals(next)) {
count++;
}else {
result += check(count) + now;
count = 1;
}



}

result += check(count) + next;

System.out.println(result + " -> 갯수 : "+ result.length());

answer = Math.min(answer, result.length());

}
System.out.println();
System.out.println("답 : " + answer);

}

static String check(int count) {
return count > 1 ? String.valueOf(count) : "";
}
}
68 changes: 68 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_12/changebracket.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package Today_22_05_12;

public class changebracket {


public static void main(String[] args) {

String p = ")(";

if(p.isEmpty())System.out.println("nope");
else {

String answer = change(p);
System.out.println(answer);
}



}

static String change(String w) {

if(w.isEmpty()) return "";

String u = "";
String v = "";

int l = 0;
int r = 0;
int i;

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

char ch = w.charAt(i);

if(ch=='(')l++;
else r++;


if(l==r) break;

}

u = w.substring(0,i+1);
v = w.substring(i+1);

if(isRight(u)) {
u += change(v);
}else {
String str = "(" + change(v) + ")";
u = u.substring(1,u.length()-1);
u = u.replaceAll("\\(", ".");
u = u.replaceAll("\\)", "(");
u = u.replaceAll("\\.", ")");
str += u;
return str;
}
return u;

}
static boolean isRight(String u) {

if(u.charAt(0)==')') return false;
u = u.replaceAll("\\(\\)", "");

return true;
}
}
51 changes: 51 additions & 0 deletions Basic_Of_Algorithm/src/Today_22_05_12/fef.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package Today_22_05_12;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Stack;

public class fef {

public static void main(String[] args) {


int[][] rooms = {{1,4},{3,5},{0,6},{5,7},{3,8},
{5,9},{6,10},{8,11},{8,12},{2,13},
{12,14},{11,14}};

int answer = 0;

Arrays.sort(rooms,new Comparator<int[]>() {

@Override
public int compare(int[] o1, int[] o2) {

if(o1[1]==o2[1]) {
return o1[0] - o2[0];
}
return o1[1]-o2[1];
}

});

for(int i=0;i<rooms.length;i++) {
System.out.println(rooms[i][0]+" : " + rooms[i][1]);
}

int end_time = 0;
int count = 0;

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

if(rooms[i][0]>=end_time) {
end_time = rooms[i][1];
count++;
}


}

System.out.println("답 : " + count);

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

import java.util.*;

public class gameMap {

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<int[]> q = new LinkedList<>();


int[][]temp = new int[maps.length][maps[0].length];

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


temp[0][0] = 1;

q.add(new int[] {0,0});

while(!q.isEmpty()) {

int[]cur = q.poll();

int i = cur[0];
int j = cur[1];

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

int ni = i + move[d][0];
int nj = j + move[d][1];

if(ni<0||nj<0||maps.length-1<ni||maps[0].length-1<nj) continue;

if(maps[ni][nj]==1&&temp[ni][nj]==0) {
temp[ni][nj] = temp[i][j] + 1;
q.add(new int[] {ni,nj});
}

}

}

System.out.println(temp[maps.length-1][maps[0].length-1]);


}
}
Loading