From a519e35b3b6d63132354894ce9755e2847bc67f5 Mon Sep 17 00:00:00 2001 From: d11210920 Date: Mon, 14 Jul 2025 09:03:52 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[Baekjoon-9935]=20=EB=AC=B8=EC=9E=90?= =?UTF-8?q?=EC=97=B4=20=ED=8F=AD=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...354\227\264 \355\217\255\353\260\234.java" | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 "\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-9935] \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.java" diff --git "a/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-9935] \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.java" "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-9935] \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.java" new file mode 100644 index 0000000..ee7ca4c --- /dev/null +++ "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-9935] \353\254\270\354\236\220\354\227\264 \355\217\255\353\260\234.java" @@ -0,0 +1,65 @@ +import java.io.*; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.List; +import java.util.StringTokenizer; + +public class Main { + public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + public static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + public static StringBuilder sb = new StringBuilder(); + + public static String str; + public static String word; + + public static List stack = new ArrayList<>(); + + + public static void init() throws IOException { + str = br.readLine(); + word = br.readLine(); + } + + public static void solution() throws IOException { + init(); + int len = str.length(); + char ed = word.charAt(word.length() - 1); + for (int i = 0; i < len; i++) { + stack.add(str.charAt(i)); + if (str.charAt(i) == ed) { + boolean flag = true; + int idx = word.length() - 1; + if(stack.size() < word.length()) continue; + for(int j = stack.size() - 1; j >= stack.size() - word.length(); j--) { + if(stack.get(j) != word.charAt(idx)) { + flag = false; + break; + } + idx--; + } + if(flag) { + int x = stack.size() - 1; + for(int j = x; j >= x - word.length() + 1; j--) { + stack.remove(j); + } + } + } + } + if(stack.isEmpty()) { + sb.append("FRULA"); + return; + } + for(int i = 0; i < stack.size(); i++) { + sb.append(stack.get(i)); + } + } + + public static void main(String[] args)throws IOException { + solution(); + + bw.write(sb.toString()); + bw.flush(); + bw.close(); + br.close(); + } +} \ No newline at end of file From fb91df1d2bd9deb9ef5595775ee10dd6df0fa131 Mon Sep 17 00:00:00 2001 From: d11210920 Date: Mon, 14 Jul 2025 12:40:45 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[Baekjoon-17390]=20=EC=9D=B4=EA=B1=B4=20?= =?UTF-8?q?=EA=BC=AD=20=ED=92=80=EC=96=B4=EC=95=BC=ED=95=B4!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\226\264\354\225\274\355\225\264.java" | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 "\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-17390] \354\235\264\352\261\264\352\274\255\355\222\200\354\226\264\354\225\274\355\225\264.java" diff --git "a/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-17390] \354\235\264\352\261\264\352\274\255\355\222\200\354\226\264\354\225\274\355\225\264.java" "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-17390] \354\235\264\352\261\264\352\274\255\355\222\200\354\226\264\354\225\274\355\225\264.java" new file mode 100644 index 0000000..0bf6cc0 --- /dev/null +++ "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-17390] \354\235\264\352\261\264\352\274\255\355\222\200\354\226\264\354\225\274\355\225\264.java" @@ -0,0 +1,49 @@ +import java.io.*; +import java.util.*; + +public class Main { + public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + public static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + public static StringBuilder sb = new StringBuilder(); + + public static int n,q; + public static int[] arr; + public static int[] sum; + + public static void init() throws IOException { + StringTokenizer stk = new StringTokenizer(br.readLine()); + n = Integer.parseInt(stk.nextToken()); + q = Integer.parseInt(stk.nextToken()); + arr = new int[n]; + sum = new int[n]; + stk = new StringTokenizer(br.readLine()); + for(int i = 0; i < n; i++){ + arr[i] = Integer.parseInt(stk.nextToken()); + } + Arrays.sort(arr); + sum[0] = arr[0]; + for(int i = 1; i < n; i++){ + sum[i] = sum[i-1] + arr[i]; + } + for(int i = 0; i < q; i++) { + int a,b; + stk = new StringTokenizer(br.readLine()); + a = Integer.parseInt(stk.nextToken()) - 1; + b = Integer.parseInt(stk.nextToken()) - 1; + sb.append(sum[b] - sum[a] + arr[a]).append('\n'); + } + } + + public static void solution() throws IOException { + init(); + } + + public static void main(String[] args)throws IOException { + solution(); + + bw.write(sb.toString()); + bw.flush(); + bw.close(); + br.close(); + } +} \ No newline at end of file From bc2754270d73e22bda458bb7ce880af5281eda68 Mon Sep 17 00:00:00 2001 From: d11210920 Date: Wed, 16 Jul 2025 10:13:06 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[Baekjoon-1561]=20=EB=86=80=EC=9D=B4=20?= =?UTF-8?q?=EA=B3=B5=EC=9B=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...354\235\264 \352\263\265\354\233\220.java" | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-1561] \353\206\200\354\235\264 \352\263\265\354\233\220.java" diff --git "a/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-1561] \353\206\200\354\235\264 \352\263\265\354\233\220.java" "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-1561] \353\206\200\354\235\264 \352\263\265\354\233\220.java" new file mode 100644 index 0000000..e0aecd7 --- /dev/null +++ "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-1561] \353\206\200\354\235\264 \352\263\265\354\233\220.java" @@ -0,0 +1,71 @@ +import java.io.*; +import java.util.*; + +public class Main { + public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + public static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + public static StringBuilder sb = new StringBuilder(); + + public static int n,m; + public static int[] arr; + + + public static void init() throws IOException { + StringTokenizer stk = new StringTokenizer(br.readLine()); + n = Integer.parseInt(stk.nextToken()); + m = Integer.parseInt(stk.nextToken()); + arr = new int[m + 1]; + stk = new StringTokenizer(br.readLine()); + for (int i = 1; i <= m; i++) { + arr[i] = Integer.parseInt(stk.nextToken()); + } + } + + public static long binarySearch() { + long st = 0; + long ed = 60000000000L; + while (st <= ed) { + long mid = (st + ed) / 2; + long sum = m; + for(int i = 1; i <= m; i++) { + sum += mid / arr[i]; + } + if(sum < n) { + st = mid + 1; + } + else { + ed = mid - 1; + } + } + return st; + } + + public static void solution() throws IOException { + init(); + if(n <= m) sb.append(n).append("\n"); + else { + long time = binarySearch(); + long sum = m; + for(int i = 1; i <= m; i++) { + sum += (time - 1) / arr[i]; + } + + for(int i = 1; i <= m; i++) { + if(time % arr[i] == 0) sum++; + if(sum == n) { + sb.append(i).append("\n"); + return; + } + } + } + } + + public static void main(String[] args)throws IOException { + solution(); + + bw.write(sb.toString()); + bw.flush(); + bw.close(); + br.close(); + } +} \ No newline at end of file From 6e751582267c64719caa12f5c987ee8423f56e01 Mon Sep 17 00:00:00 2001 From: d11210920 Date: Wed, 16 Jul 2025 10:13:26 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[Baekjoon-10159]=20=EC=A0=80=EC=9A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...joon-10159] \354\240\200\354\232\270.java" | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 "\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-10159] \354\240\200\354\232\270.java" diff --git "a/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-10159] \354\240\200\354\232\270.java" "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-10159] \354\240\200\354\232\270.java" new file mode 100644 index 0000000..00d48ab --- /dev/null +++ "b/\352\271\200\353\217\231\355\225\230/2\355\225\231\352\270\260/[Baekjoon-10159] \354\240\200\354\232\270.java" @@ -0,0 +1,71 @@ +import java.io.*; +import java.util.*; + +public class Main { + public static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + public static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + public static StringBuilder sb = new StringBuilder(); + + public static int n,m; + + public static List[] arr; + public static List[] rev; + + public static void init() throws IOException { + n = Integer.parseInt(br.readLine()); + m = Integer.parseInt(br.readLine()); + + arr = new ArrayList[n + 1]; + rev = new ArrayList[n + 1]; + + for (int i = 1; i <= n; i++) { + arr[i] = new ArrayList<>(); + rev[i] = new ArrayList<>(); + } + for(int i = 0; i < m; i++) { + int a,b; + StringTokenizer st = new StringTokenizer(br.readLine()); + a = Integer.parseInt(st.nextToken()); + b = Integer.parseInt(st.nextToken()); + arr[a].add(b); + rev[b].add(a); + } + } + + public static int bfs(int x, List[] list){ + Queue q = new ArrayDeque<>(); + q.add(x); + boolean[] visited = new boolean[n + 1]; + visited[x] = true; + int cnt = 0; + while(!q.isEmpty()){ + int cur = q.poll(); + visited[cur] = true; + for(int next : list[cur]) { + if(!visited[next]){ + q.add(next); + visited[next] = true; + cnt++; + } + } + } + return cnt; + } + + public static void solution() throws IOException { + init(); + for(int i = 1; i <= n; i++){ + sb.append(n - 1 - bfs(i,arr) - bfs(i, rev)).append("\n"); + } + + } + + public static void main(String[] args)throws IOException { + solution(); + + bw.write(sb.toString()); + bw.flush(); + bw.close(); + br.close(); + } +} \ No newline at end of file