From fdb27dc1d3db3c4e0f7b4ae28bf71326f113f81f Mon Sep 17 00:00:00 2001 From: monsileI Date: Tue, 7 Jun 2022 20:08:18 +0900 Subject: [PATCH] =?UTF-8?q?=ED=94=84=EB=A1=9C=EA=B7=B8=EB=9E=98=EB=A8=B8?= =?UTF-8?q?=EC=8A=A42=EB=8B=A8=EA=B3=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/programmers_level_2/no_10.java | 55 +++++++++++ .../src/programmers_level_2/no_11.java | 91 +++++++++++++++++++ .../src/programmers_level_2/no_12.java | 73 +++++++++++++++ 3 files changed, 219 insertions(+) create mode 100644 Basic_Of_Algorithm/src/programmers_level_2/no_10.java create mode 100644 Basic_Of_Algorithm/src/programmers_level_2/no_11.java create mode 100644 Basic_Of_Algorithm/src/programmers_level_2/no_12.java diff --git a/Basic_Of_Algorithm/src/programmers_level_2/no_10.java b/Basic_Of_Algorithm/src/programmers_level_2/no_10.java new file mode 100644 index 0000000..ee3fd67 --- /dev/null +++ b/Basic_Of_Algorithm/src/programmers_level_2/no_10.java @@ -0,0 +1,55 @@ +package programmers_level_2; + +import java.util.HashMap; +import java.util.ArrayList; + +public class no_10 { + + public static void main(String[] args) { + + + String [] record = {"Enter uid1234 Muzi", "Enter uid4567 Prodo","Leave uid1234","Enter uid1234 Prodo","Change uid4567 Ryan"}; + + HashMap map = new HashMap<>(); + ArrayList answerList = new ArrayList<>(); + + for(String str : record) { + + String temp[] = str.split(" "); + String action = temp[0]; + String id = temp[1]; + + if(action.equals("Leave")) continue; + + String nick = temp[2]; + + map.put(id, nick); + + } + + for(String str : record) { + + String temp[] = str.split(" "); + String action = temp[0]; + String id = temp[1]; + + if(action.equals("Change")) continue; + + String nick = map.get(id); + String ans = nick + "님이 " + (action.equals("Enter") ? "들어왔습니다." : "나갔습니다."); + + answerList.add(ans); + + } + + + String[]answer = new String[answerList.size()]; + + for(int i = 0 ; i< answerList.size();i++) answer[i] = answerList.get(i); + + for(String str : answer)System.out.println(str); + + + } + +} diff --git a/Basic_Of_Algorithm/src/programmers_level_2/no_11.java b/Basic_Of_Algorithm/src/programmers_level_2/no_11.java new file mode 100644 index 0000000..32904a6 --- /dev/null +++ b/Basic_Of_Algorithm/src/programmers_level_2/no_11.java @@ -0,0 +1,91 @@ +package programmers_level_2; + +import java.util.ArrayList; +import java.util.Collections; + +public class no_11 { + + public static void main(String[] args) { + + + String m = "CC#BCC#BCC#BCC#B"; + String[]musicinfos = {"03:00,03:30,FOO,CC#B", "04:00,04:08,BAR,CC#BCC#BCC#B"}; + String answer = "(None)"; + + String []mel = {"C#","D#","E#","F#","G#","A#","B#"}; + String []melChange = {"c","d","e","f","g","a","b"}; + + ArrayListanswerList = new ArrayList<>(); + + for(int i=0;i{ + + String []a = o1.split(":"); + String []b = o2.split(":"); + + int aa = Integer.parseInt(a[1]); + int bb = Integer.parseInt(b[1]); + + if(aa>bb) return bb-aa; + + return 0; + }); + + + String [] temp = answerList.get(0).split(":"); + answer = temp[0]; + + System.out.println(answer); + } + + + + + + } + static int change(String start,String end) { + + String s[] = start.split(":"); + + int hour = Integer.parseInt(s[0]); + int StartMin = Integer.parseInt(s[1]) + hour*60; + + s = end.split(":"); + + hour = Integer.parseInt(s[0]); + int endMin = Integer.parseInt(s[1]) + hour*60; + + return endMin - StartMin; + + + + } + +} diff --git a/Basic_Of_Algorithm/src/programmers_level_2/no_12.java b/Basic_Of_Algorithm/src/programmers_level_2/no_12.java new file mode 100644 index 0000000..d16ce0f --- /dev/null +++ b/Basic_Of_Algorithm/src/programmers_level_2/no_12.java @@ -0,0 +1,73 @@ +package programmers_level_2; + +public class no_12 { + + public static void main(String[] args) { + + int n = 6; + int[][]road = {{1,2,1},{1,3,2},{2,3,2},{3,4,3},{3,5,2},{3,5,3},{5,6,1}}; + int k = 4; + int answer = 0; + int INF = 500001; + int [][] map = new int[n+1][n+1]; + + for(int i = 1 ; i <=n; i++) { + for(int j=1; j<=n ; j++) { + if(i==j) continue; + map[i][j] = INF; //무한대 + } + } + + + for(int i=0;i w) { + map[a][b] = w; + map[b][a] = w; + } + + } + + int [] dist = new int[n+1]; + for(int i = 2; i <= n ; i++) { + dist[i] = INF; + } + + boolean[] visited = new boolean[n+1]; + visited[1] = true; + + + for(int i=1; i <=n-1 ; i++) { + + int min_idx = 1; + int min_value = INF; + for(int j=2;j<=n;j++) { + if(!visited[j] && dist[j]dist[min_idx] + map[min_idx][j]) { + dist[j] = dist[min_idx] + map[min_idx][j]; + } + } + + } + + for(int i=1;i<=n;i++) { + + if(dist[i]<=k) answer++; + } + System.out.println(answer); + for(int i : dist)System.out.print(i+","); + } + +} \ No newline at end of file