From 2b313b7fd9946a4de5438f75f759a3a210854a37 Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月21日 10:14:26 +0900 Subject: [PATCH 1/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[CT]=20?= =?UTF-8?q?=EC=8B=9C=EA=B3=B5=EC=9D=98=20=EB=8F=8C=ED=92=8D=5F241021?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...354235円230円_353円217円214円355円222円215円.java" | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 "CodeTree/2019-2020353円205円204円/JY_354円213円234円352円263円265円354円235円230円_353円217円214円355円222円215円.java" diff --git "a/CodeTree/2019-2020353円205円204円/JY_354円213円234円352円263円265円354円235円230円_353円217円214円355円222円215円.java" "b/CodeTree/2019-2020353円205円204円/JY_354円213円234円352円263円265円354円235円230円_353円217円214円355円222円215円.java" new file mode 100644 index 00000000..d43231cd --- /dev/null +++ "b/CodeTree/2019-2020353円205円204円/JY_354円213円234円352円263円265円354円235円230円_353円217円214円355円222円215円.java" @@ -0,0 +1,138 @@ +package day1021; + +import java.io.*; +import java.util.*; + +public class JY_시공의_돌풍 { + + static int N, M, T; + static int[][] g; + // 상우하좌 + static int[] dx = {-1, 0, 1, 0}; + static int[] dy = {0, 1, 0, -1}; + static List tList; + + public static void main(String[] args) throws IOException{ +// System.setIn(new FileInputStream("src/day1021/tornado.txt")); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + T = Integer.parseInt(st.nextToken()); + + g = new int[N][M]; + tList = new ArrayList(); + for(int i=0; i=0 && x=0 && y nList = new ArrayList(); + for(int d=0; d<4; d++) { + int nx = i + dx[d]; + int ny = j + dy[d]; + if(!inRange(nx, ny)) continue; + if(g[nx][ny] == -1) continue; + + nList.add(new int[] {nx, ny}); + } + + tmp[i][j] += g[i][j] - amount*nList.size(); + for(int[] next: nList) { + int nx = next[0]; + int ny = next[1]; + tmp[nx][ny] += amount; + } + } + } + + // copy + g = tmp; + } + public static void clean(int ox, int oy, int[] dir, boolean up) { + int x = ox; + int y = oy; + int dCnt = 0; + int tmp = g[x][y]; + while(true) { + int nx = x + dx[dir[dCnt]]; + int ny = y + dy[dir[dCnt]]; + if(!inRange(nx, ny) || (up && nx> ox) || (!up && nx < ox)) { + // 모든 방향 전환 완료 + if(dCnt>= 3) break; + // 방향전환 후, 다시 탐색 + dCnt = (dCnt+1) % 4; + continue; + } + + g[x][y] = g[nx][ny]; + x = nx; + y = ny; + } + + g[ox][oy] = tmp; + g[ox][oy+1] = 0; + + } + public static int countDust() { + int total = 0; + for(int i=0; i 0) { + total += g[i][j]; + } + } + } + return total; + } + +} From c996681dcb827290524620c3165d57d69d120f8d Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月22日 19:58:38 +0900 Subject: [PATCH 2/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[BOJ]=205021?= =?UTF-8?q?=20=EC=99=95=EC=9C=84=20=EA=B3=84=EC=8A=B9=5F241022?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "BOJ/5001-10000353円262円210円/JY_5021.java" | 121 ++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 "BOJ/5001-10000353円262円210円/JY_5021.java" diff --git "a/BOJ/5001-10000353円262円210円/JY_5021.java" "b/BOJ/5001-10000353円262円210円/JY_5021.java" new file mode 100644 index 00000000..800d358d --- /dev/null +++ "b/BOJ/5001-10000353円262円210円/JY_5021.java" @@ -0,0 +1,121 @@ +package day1022; + +import java.io.*; +import java.util.*; + +public class JY_5021 { + + static int N, M; + static String king; + static Map> fMap; + static Map indegree; + static Map score; + static List cList; + static List ans; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + N = Integer.parseInt(st.nextToken()); + M = Integer.parseInt(st.nextToken()); + + + fMap = new HashMap(); + indegree = new HashMap(); + st = new StringTokenizer(br.readLine()); + king = st.nextToken(); + fMap.put(king, new ArrayList()); + indegree.put(king, 0); + + for(int i=0; i()); + } + if(fMap.get(p2) == null) { + fMap.put(p2, new ArrayList()); + } + if(fMap.get(child) == null) { + fMap.put(child, new ArrayList()); + } + // 자식 추가 + fMap.get(p1).add(child); + fMap.get(p2).add(child); + + // 진입차수 설정 + indegree.put(p1, indegree.getOrDefault(p1, 0)); + indegree.put(p2, indegree.getOrDefault(p2, 0)); + indegree.put(child, indegree.getOrDefault(child, 0)+2); + + } + + cList = new ArrayList(); + for(int i=0; i(); + score = new HashMap(); + topologySort(); + +// System.out.println(ans); +// System.out.println(score); + + // 후계자 찾기 + String candidate = ""; + double s = 0.0; + for(int i=0; i q = new LinkedList(); + + // 진입차수가 0인 노드 삽입 + q.add(king); + for(String key: indegree.keySet()) { + if(key.equals(king)) { + score.put(key, 1.0); + continue; + } + if(indegree.get(key) == 0) { + q.add(key); + score.put(key, 0.5); + } + } + + while(!q.isEmpty()) { + String now = q.poll(); + ans.add(now); + for(String c: fMap.get(now)) { + indegree.put(c, indegree.get(c)-1); + score.put(c, score.getOrDefault(c, 0.0)+ score.get(now)*0.5); + if(indegree.get(c) == 0) { + q.add(c); + } + } + } + + } + +} From 34dde58a6d79c41877c5f6f7b3cd565620af93ce Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月22日 20:30:12 +0900 Subject: [PATCH 3/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[SQL]=20Cust?= =?UTF-8?q?omers=20Who=20Bought=20All=20Products=5F241022?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JY_Customers_Who_Bought_All_Products.sql" | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 "SQL/07354円243円274円354円260円250円/JY_Customers_Who_Bought_All_Products.sql" diff --git "a/SQL/07354円243円274円354円260円250円/JY_Customers_Who_Bought_All_Products.sql" "b/SQL/07354円243円274円354円260円250円/JY_Customers_Who_Bought_All_Products.sql" new file mode 100644 index 00000000..e73d4c86 --- /dev/null +++ "b/SQL/07354円243円274円354円260円250円/JY_Customers_Who_Bought_All_Products.sql" @@ -0,0 +1,6 @@ +-- Customers Who Bought All Products +-- https://leetcode.com/problems/customers-who-bought-all-products/?envType=study-plan-v2&envId=top-sql-50 +select customer_id +from customer +group by customer_id +having count(distinct product_key) = (select count(product_key) from product) \ No newline at end of file From 014ab17db89883c5770cf2dafae27cca46eeef0b Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月23日 09:29:00 +0900 Subject: [PATCH 4/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[PG]=2049993?= =?UTF-8?q?=20=EC=8A=A4=ED=82=AC=ED=8A=B8=EB=A6=AC=5F241023?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Programmers/Level2/JY_49993.java | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Programmers/Level2/JY_49993.java diff --git a/Programmers/Level2/JY_49993.java b/Programmers/Level2/JY_49993.java new file mode 100644 index 00000000..ca4144dd --- /dev/null +++ b/Programmers/Level2/JY_49993.java @@ -0,0 +1,45 @@ +class Solution { + static int answer; + public int solution(String skill, String[] skill_trees) { + answer = 0; + + for(String t: skill_trees) { + // 포함된 스킬 개수 카운트 + int cnt = containSkill(t, skill); + // dfs로 가능한지 판단 + dfs(0,0, t, skill, cnt); + } + + return answer; + } + public static int containSkill(String tree, String skill) { + int cnt = 0; + for(int i=0; iDate: 2024年10月23日 10:44:54 +0900 Subject: [PATCH 5/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[BOJ]=202193?= =?UTF-8?q?9=20=EB=AC=B8=EC=A0=9C=20=EC=B6=94=EC=B2=9C=20=EC=8B=9C?= =?UTF-8?q?=EC=8A=A4=ED=85=9C=20Version=201=5F241023?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "BOJ/20001-25000353円262円210円/JY_21939.java" | 86 +++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 "BOJ/20001-25000353円262円210円/JY_21939.java" diff --git "a/BOJ/20001-25000353円262円210円/JY_21939.java" "b/BOJ/20001-25000353円262円210円/JY_21939.java" new file mode 100644 index 00000000..c89c1803 --- /dev/null +++ "b/BOJ/20001-25000353円262円210円/JY_21939.java" @@ -0,0 +1,86 @@ +package day1023; + +import java.io.*; +import java.util.*; + +public class JY_21939 { + + static int MAXNUM = 100001; + // 문제 번호에 해당하는 난이도 저장 배열 + static int[] srr; + + // 가장 어려운 문제 출력 우선순위 큐 + static PriorityQueue hpq = new PriorityQueue(new Comparator() { + @Override + public int compare(int[] o1, int[] o2) { + if(o1[0]==o2[0]) return o2[1] - o1[1]; + return o2[0]-o1[0]; + } + }); + // 가장 쉬운 문제 출력 우선순위 큐 + static PriorityQueue epq = new PriorityQueue(new Comparator() { + @Override + public int compare(int[] o1, int[] o2) { + if(o1[0]==o2[0]) return o1[1] - o2[1]; + return o1[0] - o2[0]; + } + }); + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + srr = new int[MAXNUM]; + int N = Integer.parseInt(st.nextToken()); + for(int i=0; i Date: 2024年10月24日 10:23:31 +0900 Subject: [PATCH 6/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[PG]=2012938?= =?UTF-8?q?=20=EC=B5=9C=EA=B3=A0=EC=9D=98=20=EC=A7=91=ED=95=A9=5F241024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Programmers/Level3/JY_12938.java | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Programmers/Level3/JY_12938.java diff --git a/Programmers/Level3/JY_12938.java b/Programmers/Level3/JY_12938.java new file mode 100644 index 00000000..e36cf4c0 --- /dev/null +++ b/Programmers/Level3/JY_12938.java @@ -0,0 +1,24 @@ +import java.util.*; +class Solution { + public int[] solution(int n, int s) { + int[] answer = new int[n]; + + if(n> s) { + return new int[] {-1}; + } + + // 원소의 곱을 최대로 만들때, 채울 수 있는 원소의 최솟값 + int num = s / n; + for(int i=0; i=n-m; i--){ + answer[i]++; + } + + return answer; + } +} \ No newline at end of file From 9a527481e9945e56eb17c53d5da64a0245efdfc7 Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月24日 10:50:39 +0900 Subject: [PATCH 7/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[SQL]=20Bigg?= =?UTF-8?q?est=20Single=20Number=5F241024?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JY_Biggest_Single_Number.sql" | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 "SQL/07354円243円274円354円260円250円/JY_Biggest_Single_Number.sql" diff --git "a/SQL/07354円243円274円354円260円250円/JY_Biggest_Single_Number.sql" "b/SQL/07354円243円274円354円260円250円/JY_Biggest_Single_Number.sql" new file mode 100644 index 00000000..ff0da411 --- /dev/null +++ "b/SQL/07354円243円274円354円260円250円/JY_Biggest_Single_Number.sql" @@ -0,0 +1,9 @@ +-- Biggest Single Number +-- https://leetcode.com/problems/biggest-single-number/?envType=study-plan-v2&envId=top-sql-50 +select max(num) as num +from ( + select num + from mynumbers + group by num + having count(num) = 1 +) my \ No newline at end of file From ea1b258a983042068a3ea1b9fc539c7316d04206 Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月25日 10:44:32 +0900 Subject: [PATCH 8/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[BOJ]=201535?= =?UTF-8?q?=20=EC=95=88=EB=85=95=5F241025?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "BOJ/1000-5000353円262円210円/JY_1535.java" | 45 ++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 "BOJ/1000-5000353円262円210円/JY_1535.java" diff --git "a/BOJ/1000-5000353円262円210円/JY_1535.java" "b/BOJ/1000-5000353円262円210円/JY_1535.java" new file mode 100644 index 00000000..166bb78f --- /dev/null +++ "b/BOJ/1000-5000353円262円210円/JY_1535.java" @@ -0,0 +1,45 @@ +package day1025; + +import java.io.*; +import java.util.*; + +public class JY_1535 { + + static int MAX_HP = 100; + + public static void main(String[] args) throws IOException{ + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + int N = Integer.parseInt(st.nextToken()); + + int[] h = new int[N+1]; + st = new StringTokenizer(br.readLine()); + for(int i=1; ih[i]; j--) { + dp[j] = Math.max(dp[j], dp[j-h[i]]+v[i]); + } + } + +// System.out.println(Arrays.toString(dp)); + + // 최대 기쁨 찾기 + int maxHappy = Integer.MIN_VALUE; + for(int j=1; j<101; j++) { + maxHappy = Math.max(maxHappy, dp[j]); + } + + System.out.println(maxHappy); + } + +} From 980a13d3cc5dfa954230bbb555dcfb49a5c383cb Mon Sep 17 00:00:00 2001 From: yeong Date: 2024年10月25日 12:56:51 +0900 Subject: [PATCH 9/9] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=98=81:=20[BOJ]=202037?= =?UTF-8?q?=20=EC=88=98=EB=8F=84=EB=B0=B0=EA=B4=80=EA=B3=B5=EC=82=AC=5F241?= =?UTF-8?q?025?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "BOJ/1000-5000353円262円210円/JY_2037.java" | 40 ++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "BOJ/1000-5000353円262円210円/JY_2037.java" diff --git "a/BOJ/1000-5000353円262円210円/JY_2037.java" "b/BOJ/1000-5000353円262円210円/JY_2037.java" new file mode 100644 index 00000000..01acce48 --- /dev/null +++ "b/BOJ/1000-5000353円262円210円/JY_2037.java" @@ -0,0 +1,40 @@ +package day1025; + +import java.io.*; +import java.util.*; + +public class JY_2037 { + + public static void main(String[] args) throws IOException{ + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + int D = Integer.parseInt(st.nextToken()); + int P = Integer.parseInt(st.nextToken()); + + long[] L = new long[P+1]; + long[] C = new long[P+1]; + long[] dp = new long[D+1]; + for(int i=1; i=L[i]; j--) { + dp[j] = Math.max(dp[j], Math.min(dp[(int)(j-L[i])], C[i])); + } + } +// System.out.println(Arrays.toString(dp)); + + System.out.println(dp[D]); + + } + +}

AltStyle によって変換されたページ (->オリジナル) /