diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 4f9a30e..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-
-*.xml
-.idea/workspace.xml
-.idea/misc.xml
-.idea/codingtest.iml
-*.class
-*.xml
-BOJ_JAVA/.idea/misc.xml
-BOJ_JAVA/.DS_Store
-.DS_Store
-theory_Python/.DS_Store
diff --git a/JAVA_2021/.idea/.gitignore b/JAVA_2021/.idea/.gitignore
deleted file mode 100644
index 73f69e0..0000000
--- a/JAVA_2021/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
-# Editor-based HTTP Client requests
-/httpRequests/
diff --git a/JAVA_2021/BOJ_JAVA.iml b/JAVA_2021/BOJ_JAVA.iml
deleted file mode 100644
index c90834f..0000000
--- a/JAVA_2021/BOJ_JAVA.iml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_1000.java b/JAVA_2021/src/BOJ/BOJ_1000.java
deleted file mode 100644
index 718f809..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1000.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_1000 {
-    public static void main(String[] args){
-
-        Scanner sc = new Scanner(System.in);
-        int a = sc.nextInt();
-        int b = sc.nextInt();
-
-        System.out.print(a+b);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1008.java b/JAVA_2021/src/BOJ/BOJ_1008.java
deleted file mode 100644
index 98dfcbd..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1008.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_1008 {
-    public static void main(String[] args){
-
-        Scanner sc = new Scanner(System.in);
-        double a = sc.nextInt();
-        double b = sc.nextInt();
-
-        System.out.println(a / b);
-        sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1010.java b/JAVA_2021/src/BOJ/BOJ_1010.java
deleted file mode 100644
index 612caad..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1010.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1010 {
-    private static int N, M;
-    private static int[][] dp;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            N = Integer.parseInt(st.nextToken());
-            M = Integer.parseInt(st.nextToken());
-
-            dp = new int[N + 1][M + 1];
-            for (int n = 2; n <= N; n++) {
-                dp[n][1] = 0;
-            }
-            for (int m = 1; m <= M; m++) {
-                dp[1][m] = m;
-            }
-
-            for (int x = 2; x <= N; x++) {
-                for (int y = 2; y <= M; y++) {
-                    dp[x][y] = dp[x][y - 1] + dp[x - 1][y - 1];
-                }
-            }
-            System.out.println(dp[N][M]);
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1012.java b/JAVA_2021/src/BOJ/BOJ_1012.java
deleted file mode 100644
index 8c75b82..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1012.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_1012 {
-    private static int M, N, K;
-    private static int[][] graph;
-    private static boolean[][] visited;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-//    private static void dfs(int x, int y) {
-//       visited[x][y] = true;
-//       for (int i =0 ; i < 4; i++) {
-//           int nx = x + dx[i];
-//           int ny = y + dy[i];
-//
-//           if (0 <= nx && nx < M && 0 <= ny && ny < N) {
-//               if (!visited[nx][ny] && graph[nx][ny] == 1) {
-//                   dfs(nx, ny);
-//               }
-//           }
-//       }
-//    }
-
-    private static void bfs(int x, int y) {
-        Queue<Node> queue = new LinkedList<>();
-        queue.offer(new Node(x, y));
-        while (!queue.isEmpty()) {
-            Node node = queue.poll();
-            x = node.x;
-            y = node.y;
-            visited[x][y] = true;
-
-            for (int i = 0; i < 4; i++) {
-                int nx = x + dx[i];
-                int ny = y + dy[i];
-
-                if (0 <= nx && nx < M && 0 <= ny && ny < N) {
-                    if (!visited[nx][ny] && graph[nx][ny] == 1) {
-                        queue.offer(new Node(nx, ny));
-                        visited[nx][ny] = true;
-                    }
-                }
-
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            M = Integer.parseInt(st.nextToken());
-            N = Integer.parseInt(st.nextToken());
-            K = Integer.parseInt(st.nextToken());
-            graph = new int[M][N];
-            visited = new boolean[M][N];
-
-            for (int i = 0; i < K; i++) {
-                st = new StringTokenizer(br.readLine());
-                int X = Integer.parseInt(st.nextToken());
-                int Y = Integer.parseInt(st.nextToken());
-                graph[X][Y] = 1;
-            }
-
-            int cnt = 0;
-            for (int i = 0; i < M; i++) {
-                for (int j = 0; j < N; j++) {
-                    if (graph[i][j] == 1 && !visited[i][j]) {
-                        cnt++;
-                        bfs(i, j);
-
-                    }
-                }
-            }
-            System.out.println(cnt);
-        }
-    }
-}
-
-class Node {
-    int x;
-    int y;
-    public Node (int x, int y) {
-        this.x = x;
-        this.y = y;
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_10157.java b/JAVA_2021/src/BOJ/BOJ_10157.java
deleted file mode 100644
index 204219e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10157.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_10157 {
-    private static int[] dx = {-1, 0, 1, 0};
-    private static int[] dy = {0, 1, 0, -1};
-    private static int[][] graph;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        StringBuilder sb = new StringBuilder();
-        int c = Integer.parseInt(st.nextToken());
-        int r = Integer.parseInt(st.nextToken());
-        int k = Integer.parseInt(br.readLine());
-        graph = new int[r][c];
-
-        if (c * r < k) {
-            System.out.println(0);
-            System.exit(0);
-        }
-        int x = r - 1;
-        int y = 0;
-        int i = 0;
-        int cnt = 1;
-
-        while (cnt != k) {
-            graph[x][y] = cnt;
-            int nx = x + dx[i];
-            int ny = y + dy[i];
-
-            if (nx < 0 || ny < 0 || nx >= r || ny >= c || graph[nx][ny] != 0) {
-                i++;
-                if (i == 4) i = 0;
-                nx = x + dx[i];
-                ny = y + dy[i];
-            }
-            x = nx;
-            y = ny;
-            cnt++;
-        }
-        sb.append(y+1).append(" ").append(r-x);
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10158.java b/JAVA_2021/src/BOJ/BOJ_10158.java
deleted file mode 100644
index 4b84738..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10158.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_10158 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int w = Integer.parseInt(st.nextToken());
-        int h = Integer.parseInt(st.nextToken());
-        st = new StringTokenizer(br.readLine());
-        int p = Integer.parseInt(st.nextToken());
-        int q = Integer.parseInt(st.nextToken());
-        int t = Integer.parseInt(br.readLine());
-
-        int a = (p + t) / w;
-        int b = (q + t) / h;
-        int x =0, y = 0;
-
-        if (a % 2 == 0) {
-            x = (p + t) % w;
-        } else {
-            x = w - (p + t) % w;
-        }
-
-        if (b % 2 == 0) {
-            y = (q + t) % h;
-        } else {
-            y = h - (q + t) % h;
-        }
-        System.out.println(x + " " + y);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10163.java b/JAVA_2021/src/BOJ/BOJ_10163.java
deleted file mode 100644
index 64a9a5b..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10163.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_10163 {
-    private static int[][] graph;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        graph = new int[101][101];
-        int[] ans = new int[N];
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int x = Integer.parseInt(st.nextToken());
-            int y = Integer.parseInt(st.nextToken());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-
-
-            for (int xX = x; xX < x + a; xX++) {
-                for (int yY = y; yY < y + b; yY++) {
-                    graph[xX][yY] = i + 1;
-                }
-            }
-        }
-
-        for (int chk = 1; chk <= N; chk++) {
-            int cnt = 0;
-            for (int i = 0; i < 101; i++) {
-                for (int j = 0; j < 101; j++) {
-                    if (graph[i][j] == chk) {
-                        cnt++;
-                    }
-                }
-            }
-            ans[chk - 1] = cnt;
-        }
-
-        for (int i : ans) {
-            System.out.println(i);
-        }
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1037.java b/JAVA_2021/src/BOJ/BOJ_1037.java
deleted file mode 100644
index 349ee9a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1037.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package BOJ;
-
-import java.util.ArrayList;
-import java.util.Scanner;
-
-public class BOJ_1037 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int N = sc.nextInt();
-        ArrayList<Integer> arr = new ArrayList<>();
-
-        for (int i = 0; i < N; i++) {
-            arr.add(sc.nextInt());
-        }
-        arr.sort(null);
-        System.out.println(arr.get(0) * arr.get(N - 1));
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10430.java b/JAVA_2021/src/BOJ/BOJ_10430.java
deleted file mode 100644
index 75e20bf..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10430.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_10430 {
-    public static void main(String[] args){
-
-        Scanner sc = new Scanner(System.in);
-        int a = sc.nextInt();
-        int b = sc.nextInt();
-        int c = sc.nextInt();
-
-        System.out.println((a + b) % c);
-        System.out.println(((a % c) + (b % c)) % c);
-        System.out.println((a * b) % c);
-        System.out.println(((a % c) * (b % c)) % c);
-        sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1062.java b/JAVA_2021/src/BOJ/BOJ_1062.java
deleted file mode 100644
index cc5db66..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1062.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package BOJ;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Scanner;
-
-public class BOJ_1062 {
-
-    static int n, k;
-    static List<Integer> words = new ArrayList<>();
-    static int answer = 0;
-    static boolean[] alphaBool;
-
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        n = sc.nextInt();
-        k = sc.nextInt();
-
-        k -= 5;
-        for (int i = 0; i < n; i++) {
-            int word = 0;
-            char[] s = sc.next().toCharArray();
-            for (char c: s) {
-                if (anticCheck(c)) continue;
-                else {
-                    if (c == 'b') {
-                        word |= (1 << (c-'a'-1));
-                    } else if (c <= 'i') {
-                        word |= (1 << (c-'a'-2));
-                    } else if (c <= 'n') {
-                        word |= (1 << (c-'a'-3));
-                    } else if (c <= 't') {
-                        word |= (1 << (c-'a'-4));
-                    } else {
-                        word |= (1 << (c-'a'-5));
-                    }
-                }
-            }
-            words.add(word);
-        }
-        if (k < 0) {
-            System.out.println(answer);
-            return;
-        }
-        for (int i = 0; i<1<<21; i++) {
-            int cnt = 0;
-            for (int j = 0; j<21; j++) {
-                if((i &(1 <<j)) > 0) {
-                    cnt++;
-                }
-            }
-            if (cnt == k) {
-                alphaBool = new boolean[21];
-                for (int j = 0; j < 21; j ++) {
-                    if ((i & (1<<j)) > 0) {
-                        alphaBool[j] = true;
-                    }
-                }
-                int mask = 0;
-                for (int j = 0; j < 21; j++) {
-                    if (alphaBool[j]) {
-                        mask |= (1<<j);
-                    }
-                }
-                check(mask);
-            }
-        }
-        System.out.println(answer);
-    }
-
-    static boolean anticCheck(char c) {
-        if (c == 'a' || c == 'n' || c == 't' || c == 'i' || c == 'c') return true;
-        return false;
-    }
-
-    static void check(int mask) {
-        int cnt = 0;
-        for (int word : words) {
-            if ((word & mask) == word) {
-                cnt++;
-            }
-        }
-        answer = answer < cnt ? cnt : answer;
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1068.java b/JAVA_2021/src/BOJ/BOJ_1068.java
deleted file mode 100644
index 202ec60..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1068.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_1068 {
-    private static int[] parent;
-    private static int N, ans;
-    private static List<Integer>[] tree;
-    private static Queue<Integer> queue;
-
-    private static void sol() {
-        while(!queue.isEmpty()) {
-            Integer cur = queue.poll();
-            if (parent[cur] != -1 && tree[cur].size() == 0) {
-                ans++;
-            } else if (parent[cur] == -1 && tree[cur].size() == 0) {
-                ans = 1;
-            }
-
-            for (int i = 0; i < tree[cur].size(); i++) {
-                Integer next = tree[cur].get(i);
-                queue.add(next);
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-
-        parent = new int[N];
-        tree = new ArrayList[N];
-
-        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-
-        for (int i = 0; i < N; i++) {
-            tree[i] = new ArrayList<Integer>();
-        }
-
-        for (int i = 0; i < N; i++) {
-            parent[i] = Integer.parseInt(st.nextToken());
-            if (parent[i] == -1) continue;
-            else {
-                tree[parent[i]].add(i);
-            }
-        }
-
-        int remove = Integer.parseInt(br.readLine());
-        int removeParent = parent[remove];
-        if (removeParent == -1) {
-            tree[remove] = new ArrayList<Integer>();
-        } else {
-            for (int i = 0; i < tree[removeParent].size(); i++) {
-                if (tree[removeParent].get(i) == remove) {
-                    tree[removeParent].remove(i);
-                    break;
-                }
-            }
-        }
-
-        queue = new LinkedList<Integer>();
-        for (int i = 0; i < N; i++) {
-            if (parent[i] == -1) {
-                queue.add(i);
-                sol();
-            }
-        }
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1074.java b/JAVA_2021/src/BOJ/BOJ_1074.java
deleted file mode 100644
index c32c625..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1074.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1074 {
-    private static int N, r, c, cnt;
-    private static void Recursive(int N, int r, int c) {
-        int l = (int) Math.pow(2, N - 1);
-        if (r >= l) cnt += Math.pow(4, N - 1) * 2;
-        if (c >= l) cnt += Math.pow(4, N - 1);
-        if (r > 0 || c > 0) {
-            Recursive(N - 1, r >= l ? r - l : r, c >= l ? c - l : c);
-        } else {
-            return;
-        }
-    }
-
-    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());
-        r = Integer.parseInt(st.nextToken());
-        c = Integer.parseInt(st.nextToken());
-
-        Recursive(N, r, c);
-
-        System.out.println(cnt);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10757.java b/JAVA_2021/src/BOJ/BOJ_10757.java
deleted file mode 100644
index 419a204..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10757.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.math.BigInteger;
-
-
-public class BOJ_10757 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] arr = br.readLine().split(" ");
-        System.out.println(new BigInteger(arr[0]).add(new BigInteger(arr[1])));
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10807.java b/JAVA_2021/src/BOJ/BOJ_10807.java
deleted file mode 100644
index 3af0bd0..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10807.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_10807 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int [] arr = new int[N];
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        for (int i = 0; i < arr.length; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        int v = Integer.parseInt(br.readLine());
-
-        int ans = 0;
-        for (int i = 0; i < arr.length; i++) {
-            if (arr[i] == v) {
-                ans++;
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10809.java b/JAVA_2021/src/BOJ/BOJ_10809.java
deleted file mode 100644
index 718e6a0..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10809.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_10809 {
-    public static void main(String[] args) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        byte[] s = br.readLine().getBytes();
-        byte[] alpha = new byte[26];
-        for (int i = 0; i < alpha.length; i++) {
-            alpha[i] = -1;
-        }
-
-        for (int i = 0; i < s.length; i++) {
-            if (alpha[s[i] - 'a'] == -1) {
-                alpha[s[i] - 'a'] = (byte)i;
-            }
-        }
-        for (int ans : alpha) {
-            System.out.println(ans + " ");
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10818.java b/JAVA_2021/src/BOJ/BOJ_10818.java
deleted file mode 100644
index 4e4b8ab..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10818.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_10818 {
-    public static void main(String[] args) throws IOException{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int[] arr = new int[N];
-
-        int max = Integer.MIN_VALUE;
-        int min = Integer.MAX_VALUE;
-
-        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-        for ( int i = 0; i < N; i++){
-            arr[i] = Integer.parseInt(st.nextToken());
-            if (arr[i] > max) {
-                max = arr[i];
-            }
-
-            if (arr[i] < min) {
-                min = arr[i];
-            }
-        }
-        System.out.println(min + " " + max);
-        br.close();
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10819.java b/JAVA_2021/src/BOJ/BOJ_10819.java
deleted file mode 100644
index 8ae5a9d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10819.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_10819 {
-    private static int N;
-    private static int[] input, tmp;
-    private static boolean[] chk;
-    private static ArrayList<Integer> arr;
-
-    private static void Permutation(int depth) {
-        if (depth == N) {
-            int sum = 0;
-
-            for (int i = 2 ; i < N + 1; i++) {
-                sum += Math.abs(tmp[i - 2] - tmp[i - 1]);
-            }
-            arr.add(sum);
-            return;
-        }
-
-        for(int i=0; i<N; i++) {
-            if(chk[i])continue;
-
-            chk[i]=true;
-            tmp[depth]=input[i];
-
-            Permutation(depth+1);
-            chk[i]=false;
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-
-        input = new int[N];
-        tmp = new int[N];
-        chk = new boolean[N];
-        arr = new ArrayList<>();
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N; i++) {
-            input[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Permutation(0);
-
-        int max = -123456789;
-
-        for (int i = 0 ; i <arr.size(); i++) {
-            max = Math.max(arr.get(i), max);
-        }
-
-        System.out.println(max);
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10820.java b/JAVA_2021/src/BOJ/BOJ_10820.java
deleted file mode 100644
index a56100c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10820.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_10820 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input;
-        int[] cnt;
-
-        while ((input = br.readLine()) != null) {
-            cnt = new int[4];
-
-            for (int i = 0; i < input.length(); i++) {
-                int code = input.charAt(i);
-
-                if (code >= 97 && code <= 122) {
-                    cnt[0] += 1;
-                }
-                if (code >= 65 && code <= 90) {
-                    cnt[1] += 1;
-                }
-                if (code >= 48 && code <= 57) {
-                    cnt[2] += 1;
-                }
-
-                if (code == 32) {
-                    cnt[3] += 1;
-                }
-            }
-            for (int i : cnt) {
-                System.out.print(i + " ");
-            }
-            System.out.println();
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10845.java b/JAVA_2021/src/BOJ/BOJ_10845.java
deleted file mode 100644
index 4ddf5bd..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10845.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_10845 {
-    private static Queue<Integer> queue = new LinkedList<>();
-    static int X;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int Order = Integer.parseInt(br.readLine());
-        for (int tc = 0; tc < Order; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-
-            String cmd = st.nextToken();
-
-            if (cmd.equals("push")) {
-                X = Integer.parseInt(st.nextToken());
-                queue.add(X);
-            } else if (cmd.equals("pop")) {
-                if (queue.isEmpty()) {
-                    System.out.println(-1);
-                } else {
-                    System.out.println(queue.poll());
-                }
-            } else if (cmd.equals("size")) {
-                System.out.println(queue.size());
-            } else if (cmd.equals("empty")) {
-                if (queue.isEmpty()) {
-                    System.out.println(1);
-                } else {
-                    System.out.println(0);
-                }
-            } else if (cmd.equals("front")) {
-                if (queue.isEmpty()) {
-                    System.out.println(-1);
-                } else {
-                    System.out.println(queue.peek());
-                }
-            } else if (cmd.equals("back")) {
-                if (queue.isEmpty()) {
-                    System.out.println(-1);
-                } else {
-                    System.out.println(X);
-                }
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10867.java b/JAVA_2021/src/BOJ/BOJ_10867.java
deleted file mode 100644
index 4e85e47..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10867.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_10867 {
-    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(br.readLine());
-        int[] arr = new int[2001];
-
-        for (int i = 0; i < N; i++) {
-            arr[Integer.parseInt(st.nextToken()) + 1000]++;
-        }
-
-        for (int i = 0; i <= 2000; i++) {
-            if (arr[i] > 0) {
-                System.out.println(i - 1000);
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10870.java b/JAVA_2021/src/BOJ/BOJ_10870.java
deleted file mode 100644
index 4cc3771..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10870.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_10870 {
-    public static int recursive(int n) {
-        if (n == 0) {
-            return 0;
-        } else if (n == 1) {
-            return 1;
-        } else {
-            return recursive(n - 1) + recursive(n - 2);
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        System.out.println(recursive(n));
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_10871.java b/JAVA_2021/src/BOJ/BOJ_10871.java
deleted file mode 100644
index fa060b8..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10871.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_10871 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] str = br.readLine().split(" ");
-
-        int n = Integer.parseInt(str[0]);
-        int x = Integer.parseInt(str[1]);
-
-        String[] input = br.readLine().split(" ");
-        for (int i = 0; i < n; i++){
-            int a = Integer.parseInt(input[i]);
-            if (a < x){
-                System.out.print(a + " ");
-            }
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10872.java b/JAVA_2021/src/BOJ/BOJ_10872.java
deleted file mode 100644
index c787695..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10872.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_10872 {
-
-    public static int pactorial(int n) {
-        if (n <= 1) {
-            return 1;
-        } else {
-            return pactorial(n - 1) * n;
-        }
-    }
-
-    public static void main(String[] args) throws IOException{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        System.out.println(pactorial(N));
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10942.java b/JAVA_2021/src/BOJ/BOJ_10942.java
deleted file mode 100644
index 92d0f41..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10942.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_10942 {
-    private static int N, M, s, e;
-    private static int[] arr;
-    private static int[][] dp;
-
-    private static int function(int start, int end) {
-        if (start >= end) return 1;
-        if (dp[start][end] != 0) return dp[start][end];
-        if (arr[start] != arr[end]) return 0;
-        dp[start][end] = function(start + 1, end - 1);
-        return dp[start][end];
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        N = Integer.parseInt(br.readLine());
-        arr = new int[N];
-        dp = new int[N][N];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-        M = Integer.parseInt(br.readLine());
-        for (int i = 0 ; i < M; i++) {
-            st = new StringTokenizer(br.readLine());
-            s = Integer.parseInt(st.nextToken());
-            e = Integer.parseInt(st.nextToken());
-            sb.append(function(s - 1, e - 1)).append("\n");
-        }
-        System.out.print(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_10951.java b/JAVA_2021/src/BOJ/BOJ_10951.java
deleted file mode 100644
index 053c79f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10951.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.util.StringTokenizer;
-
-public class BOJ_10951 {
-    public static void main(String args[]) throws Exception {
-
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st;
-
-        while (true) {
-            String line = br.readLine();
-            // if(line == null) {//이클립스에서 작동하지 않음
-            if (line == null || line.equals("")) {
-                break;
-            }
-            st = new StringTokenizer(line);
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-            bw.write(a + b + "\n");
-        }
-
-        bw.flush();
-        bw.close();
-        br.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_10952.java b/JAVA_2021/src/BOJ/BOJ_10952.java
deleted file mode 100644
index bce857d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_10952.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_10952 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        while (true){
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-
-            if (a == 0  && b == 0){
-                br.close();
-                break;
-            } else {
-                System.out.println(a + b);
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11023.java b/JAVA_2021/src/BOJ/BOJ_11023.java
deleted file mode 100644
index 86a1757..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11023.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-class BOJ_11023 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int ans = 0;
-        while(st.hasMoreTokens()){
-            ans += Integer.parseInt(st.nextToken());
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_11047.java b/JAVA_2021/src/BOJ/BOJ_11047.java
deleted file mode 100644
index 762ebcc..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11047.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-public class BOJ_11047 {
-    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 K = Integer.parseInt(st.nextToken());
-        Integer[] arr = new Integer[N];
-        int ans = 0;
-
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-        }
-        Arrays.sort(arr, Collections.reverseOrder());
-
-        for (int i = 0; i < arr.length; i++) {
-            ans += K / arr[i];
-            K = K % arr[i];
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1110.java b/JAVA_2021/src/BOJ/BOJ_1110.java
deleted file mode 100644
index 23c3e9c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1110.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_1110 {
-    public static void main(String[] args){
-
-        Scanner sc = new Scanner(System.in);
-
-        int x = sc.nextInt();
-        int ans = 0;
-        int tmp = x;
-
-        while (true){
-            int a = tmp / 10;
-            int b = tmp % 10;
-            if (a + b < 10){
-                tmp = b * 10 + a + b;
-            } else {
-                tmp = b * 10 + (a + b) % 10;
-            }
-            ans ++;
-            if (tmp == x){
-                break;
-            }
-        }
-        System.out.println(ans);
-        sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11328.java b/JAVA_2021/src/BOJ/BOJ_11328.java
deleted file mode 100644
index a3efe4d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11328.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_11328 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int N = sc.nextInt();
-        for (int i = 0; i < N; i++) {
-            int [] alpha = new int[26];
-            char [] word1 = sc.next().toCharArray();
-            char [] word2 = sc.next().toCharArray();
-
-            for (char ch : word1) alpha[ch - 97]++;
-            for (char ch : word2) alpha[ch - 97]--;
-
-            boolean flag = true;
-
-            for (int j : alpha) {
-                if (j != 0) {
-                    flag = false;
-                }
-            }
-            System.out.println(flag ? "Possible" : "Impossible");
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11399.java b/JAVA_2021/src/BOJ/BOJ_11399.java
deleted file mode 100644
index 3f3c7cb..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11399.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_11399 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int[] arr = new int[N];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        int ans = 0;
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < N - i; j++) {
-                ans += arr[j];
-            }
-        }
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11403.java b/JAVA_2021/src/BOJ/BOJ_11403.java
deleted file mode 100644
index 4deaeb3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11403.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_11403 {
-    private static int N;
-    private static int[][] graph;
-    private static boolean[] visited;
-
-    private static void dfs(int x, int y) {
-        visited[y] = true;
-        graph[x][y] = 1;
-
-        for (int i = 0; i < N; i++) {
-            if (graph[y][i] == 1 && !visited[i]) {
-                dfs(x, i);
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        N = Integer.parseInt(br.readLine());
-
-        graph = new int[N][N];
-        visited = new boolean[N];
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < N; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < N; j++) {
-                visited[j] = false;
-            }
-
-            for (int j = 0; j < N; j++) {
-                if (graph[i][j] == 1 && !visited[j]) {
-                    dfs(i, j);
-                }
-            }
-        }
-
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < N; j++) {
-                bw.write(graph[i][j] + " ");
-            }
-            bw.write("\n");
-        }
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1149.java b/JAVA_2021/src/BOJ/BOJ_1149.java
deleted file mode 100644
index 7dd01e9..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1149.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1149 {
-    public static void main(String[] args) throws Exception {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int N = Integer.parseInt(br.readLine());
-        int[][] arr = new int[N + 1][3];
-
-        for (int i = 1; i <= N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            arr[i][0] = Math.min(arr[i - 1][1], arr[i - 1][2]) + Integer.parseInt(st.nextToken());
-            arr[i][1] = Math.min(arr[i - 1][0], arr[i - 1][2]) + Integer.parseInt(st.nextToken());
-            arr[i][2] = Math.min(arr[i - 1][0], arr[i - 1][1]) + Integer.parseInt(st.nextToken());
-        }
-
-        int ans = 1234567890;
-        for (int i = 0 ; i < 3; i++) {
-            ans = Math.min(ans, arr[N][i]);
-        }
-        System.out.print(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1152.java b/JAVA_2021/src/BOJ/BOJ_1152.java
deleted file mode 100644
index ccab7ee..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1152.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1152 {
-    public static void main(String[] args) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st;
-
-        st = new StringTokenizer(br.readLine());
-        int ans = 0;
-
-        for (int i = 0, j = st.countTokens(); i < j; i++) {
-            ans++;
-        }
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1158.java b/JAVA_2021/src/BOJ/BOJ_1158.java
deleted file mode 100644
index d1d9f85..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1158.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.*;
-
-public class BOJ_1158 {
-    public static void main(String[] args) throws Exception {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        ArrayList<Integer> list = new ArrayList<>();
-        String s = br.readLine();
-        StringTokenizer st = new StringTokenizer(s);
-
-        int n = Integer.parseInt(st.nextToken());
-        int k = Integer.parseInt(st.nextToken());
-
-        for(int i = 1; i <= n; i++)
-            list.add(i);
-
-        StringBuilder sb = new StringBuilder("<");
-        int i = k - 1;
-
-        while(true) {
-            sb.append(list.get(i));
-            list.remove(i);
-
-            if(list.size() == 0) {
-                sb.append(">");
-                break;
-            }else
-                sb.append(", ");
-            i += k - 1;
-
-            if(i >= list.size()) i %= list.size();
-        }
-        System.out.println(sb);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11650.java b/JAVA_2021/src/BOJ/BOJ_11650.java
deleted file mode 100644
index 7522bfb..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11650.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-public class BOJ_11650 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        ArrayList<Node> arr = new ArrayList<>();
-
-        for (int i = 0 ;i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int x = Integer.parseInt(st.nextToken());
-            int y = Integer.parseInt(st.nextToken());
-
-            arr.add(new Node(x, y));
-        }
-        Collections.sort(arr);
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0 ; i <N; i++) {
-            sb.append(arr.get(i).toString()).append("\n");
-        }
-        System.out.print(sb);
-        br.close();
-    }
-
-
-    private static class Node implements Comparable<Node> {
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-
-        @Override
-        public String toString() {
-            return x + " " + y;
-        }
-
-        @Override
-        public int compareTo(Node o) {
-            if (x == o.x) {
-                return y - o.y;
-            } return x - o.x;
-        }
-    }
-}
-
-
diff --git a/JAVA_2021/src/BOJ/BOJ_11650_Comparable.java b/JAVA_2021/src/BOJ/BOJ_11650_Comparable.java
deleted file mode 100644
index 1e836b2..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11650_Comparable.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-public class BOJ_11650_Comparable {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        ArrayList<Node> arr = new ArrayList<>();
-
-        for (int i = 0 ;i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int x = Integer.parseInt(st.nextToken());
-            int y = Integer.parseInt(st.nextToken());
-
-            arr.add(new Node(x, y));
-        }
-        Collections.sort(arr);
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0 ; i <N; i++) {
-            sb.append(arr.get(i).toString()).append("\n");
-        }
-        System.out.print(sb);
-        br.close();
-    }
-
-
-    private static class Node implements Comparable<Node> {
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-
-        @Override
-        public String toString() {
-            return x + " " + y;
-        }
-
-        @Override
-        public int compareTo(Node o) {
-            if (x == o.x) {
-                return y - o.y;
-            } return x - o.x;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11653.java b/JAVA_2021/src/BOJ/BOJ_11653.java
deleted file mode 100644
index 1528b3b..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11653.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_11653 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br =  new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        int i = 2;
-        while ( n != 1) {
-            if (n % i == 0) {
-                n /= i;
-                System.out.println(i);
-            } else {
-                i ++;
-            }
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11654.java b/JAVA_2021/src/BOJ/BOJ_11654.java
deleted file mode 100644
index 0efa547..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11654.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_11654 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        char N = br.readLine().charAt(0);
-        System.out.println((int) N);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11718.java b/JAVA_2021/src/BOJ/BOJ_11718.java
deleted file mode 100644
index ecc6108..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11718.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-
-public class BOJ_11718 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        ArrayList<String> lst = new ArrayList<String>();
-        String line;
-        while ((line = br.readLine()) != null) {
-            lst.add(line);
-        }
-        for (int i = 0; i < lst.size(); i++) {
-            if ( i == lst.size()) {
-                System.out.println(lst.get(i));
-            }
-            else {
-                System.out.println(lst.get(i));
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11720.java b/JAVA_2021/src/BOJ/BOJ_11720.java
deleted file mode 100644
index d237122..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11720.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_11720 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        String input = br.readLine();
-        int sum = 0;
-
-        for (int i = 0; i < n; i++) {
-            sum += input.charAt(i) - '0';
-
-        }
-        System.out.println(sum);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11729.java b/JAVA_2021/src/BOJ/BOJ_11729.java
deleted file mode 100644
index a16f2f7..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11729.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_11729 {
-    static int from = 1;
-    static int aux = 2;
-    static int to = 3;
-    static int cnt = 0;
-    static StringBuilder sb = new StringBuilder("");
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        hanoi(N, from, to, aux);
-        System.out.println(cnt);
-        System.out.println(sb);
-
-    }
-
-    private static void hanoi(int N, int from, int to, int aux) {
-        cnt++;
-        if (N == 1) {
-            sb.append(from + " " + to + "\n");
-            return;
-        }
-        hanoi(N - 1, from, aux, to);
-        sb.append(from + " " + to + "\n");
-        hanoi(N - 1, aux, to, from);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11866.java b/JAVA_2021/src/BOJ/BOJ_11866.java
deleted file mode 100644
index fdb80ed..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11866.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_11866 {
-    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 K = Integer.parseInt(st.nextToken());
-        Queue<Integer> circle = new LinkedList<>();
-        Queue<Integer> ans = new LinkedList<>();
-
-        for (int i = 1; i <= N; i++) {
-            circle.add(i);
-        }
-
-        int cnt = 1;
-        while (!circle.isEmpty()) {
-            if (cnt == K) {
-                ans.add(circle.poll());
-                cnt = 1;
-            }
-            else {
-                circle.add(circle.poll());
-                cnt++;
-            }
-        }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("<");
-        for (int i = 0; i < N - 1; i++) {
-            sb.append(ans.poll()).append(", ");
-        }
-        sb.append(ans.poll()).append(">");
-        System.out.println(sb);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_11931.java b/JAVA_2021/src/BOJ/BOJ_11931.java
deleted file mode 100644
index ed3e902..0000000
--- a/JAVA_2021/src/BOJ/BOJ_11931.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.Collections;
-
-public class BOJ_11931 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        Integer[] num = new Integer[Integer.parseInt(br.readLine())];
-        for (int i = 0; i < num.length; i++) {
-            num[i] = Integer.parseInt(br.readLine());
-        }
-        Arrays.sort(num, Collections.reverseOrder());
-        for (int i = 0; i < num.length; i++) {
-            bw.write(num[i] + "\n");
-        }
-        br.close();
-        bw.flush();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_12101.java b/JAVA_2021/src/BOJ/BOJ_12101.java
deleted file mode 100644
index 329f6d1..0000000
--- a/JAVA_2021/src/BOJ/BOJ_12101.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_12101 {
-    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 k = Integer.parseInt(st.nextToken());
-
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1244.java b/JAVA_2021/src/BOJ/BOJ_1244.java
deleted file mode 100644
index b7f944c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1244.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1244 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        boolean swList[] = new boolean[N];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for(int i = 0 ; i < N; i++) {
-            char stat = st.nextToken().charAt(0);
-            if(stat == '1') swList[i] = true;
-        }
-
-        int StudentNum = Integer.parseInt(br.readLine());
-        for (int i = 0 ; i < StudentNum; i++) {
-            st = new StringTokenizer(br.readLine());
-            int gender = Integer.parseInt(st.nextToken());
-            int place = Integer.parseInt(st.nextToken());
-
-            if (gender == 1) {
-                for (int j = 0; place * j - 1 < N; j++) {
-                    int nPlace = place * j - 1;
-                }
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_12517.java b/JAVA_2021/src/BOJ/BOJ_12517.java
deleted file mode 100644
index 4e02655..0000000
--- a/JAVA_2021/src/BOJ/BOJ_12517.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-
-public class BOJ_12517 {
-    public static char[] mo = {'a', 'e', 'i', 'o', 'u'};
-    public static char[] za = {'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k',
-                                'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'z'};
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int T = Integer.parseInt(br.readLine());
-        ArrayList<String> arr = new ArrayList<>();
-
-        for (int tc = 1; tc < T + 1; tc++) {
-            String str = br.readLine();
-            arr.add(str);
-        }
-        System.out.println(arr);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1260.java b/JAVA_2021/src/BOJ/BOJ_1260.java
deleted file mode 100644
index a15a5e3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1260.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_1260 {
-    private static int N, M, V;
-    private static LinkedList<Integer>[] list;
-    private static boolean[] visited;
-
-    private static void dfs(int start) {
-        visited[start] = true;
-        System.out.print(start + " ");
-
-        for (int i : list[start]) {
-            if (!visited[i]) {
-                visited[i] = true;
-                dfs(i);
-            }
-        }
-    }
-
-    private static void bfs(int start) {
-        visited[start] = true;
-        Deque<Integer> queue = new ArrayDeque<>();
-        queue.add(start);
-
-        while (!queue.isEmpty()) {
-            int v = queue.pollFirst();
-            System.out.print(v + " ");
-
-            for (int i : list[v]) {
-                if (!visited[i]) {
-                    queue.add(i);
-                    visited[i] = true;
-                }
-            }
-        }
-    }
-
-
-    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());
-        V = Integer.parseInt(st.nextToken());
-
-        list = new LinkedList[N + 1];
-        visited = new boolean[N + 1];
-
-        for (int i = 1 ; i <=  N;  i ++) {
-            list[i] = new LinkedList<>();
-        }
-
-        for (int i = 0 ; i < M; i ++){
-            st = new StringTokenizer(br.readLine());
-            int node1 = Integer.parseInt(st.nextToken());
-            int node2 = Integer.parseInt(st.nextToken());
-            list[node1].add(node2);
-            list[node2].add(node1);
-        }
-
-        for (int j = 1; j <= N; j++) Collections.sort(list[j]);
-
-        dfs(V);
-
-        for (int i = 0; i < N + 1; i++) {
-            visited[i] = false;
-        }
-        System.out.println();
-
-        bfs(V);
-
-    br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1260_2.java b/JAVA_2021/src/BOJ/BOJ_1260_2.java
deleted file mode 100644
index f86883d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1260_2.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_1260_2 {
-    private static int N, M, V;
-    private static LinkedList<Integer>[] graph;
-    private static boolean[] visited;
-    private static StringBuilder sb;
-
-    private static void dfs(int start) {
-        visited[start] = true;
-        sb.append(start).append(" ");
-        for (int i : graph[start]) {
-            if (!visited[i]) {
-                visited[i] = true;
-                dfs(i);
-            }
-        }
-    }
-
-    private static void bfs(int start) {
-        visited[start] = true;
-        Queue<Integer> queue = new LinkedList<>();
-        queue.add(start);
-
-        while (!queue.isEmpty()) {
-            int v = queue.poll();
-            sb.append(v).append(" ");
-            for (int i : graph[v]) {
-                if (!visited[i]) {
-                    queue.add(i);
-                    visited[i] = true;
-                }
-            }
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        sb = new StringBuilder();
-
-        N = Integer.parseInt(st.nextToken());
-        M = Integer.parseInt(st.nextToken());
-        V = Integer.parseInt(st.nextToken());
-
-        graph = new LinkedList[N + 1];
-        for (int i = 1 ; i <= N; i++) {
-            graph[i] = new LinkedList<>();
-        }
-
-        for (int i = 0 ; i < M; i ++) {
-            st = new StringTokenizer(br.readLine());
-            int from = Integer.parseInt(st.nextToken());
-            int to = Integer.parseInt(st.nextToken());
-            graph[from].add(to);
-            graph[to].add(from);
-
-        }
-
-        for (int i = 1; i <= N; i++) {
-            Collections.sort(graph[i]);
-        }
-
-        visited = new boolean[N + 1];
-        dfs(V);
-
-        sb.append("\n");
-
-        for (int i = 0 ; i < visited.length; i++) {
-            visited[i] = false;
-        }
-
-        bfs(V);
-
-        System.out.print(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1261.java b/JAVA_2021/src/BOJ/BOJ_1261.java
deleted file mode 100644
index 71fcb31..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1261.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Deque;
-import java.util.LinkedList;
-
-public class BOJ_1261 { // 알고스팟
-    private static int m, n;
-    private static int[][] graph;
-    private static int[][] count;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static void bfs() {
-        Deque<Node> queue = new LinkedList<>();
-        queue.offer(new Node(0, 0));
-        count[0][0] = 0;
-
-        while (!queue.isEmpty()) {
-            Node node = queue.pollFirst();
-            int x = node.x;
-            int y = node.y;
-
-            for (int i = 0; i < 4; i++) {
-                int nx = x + dx[i];
-                int ny = y + dy[i];
-
-                if (0 <= nx && nx < n && 0 <= ny && ny < m) {
-                    if (count[nx][ny] == -1) {
-                        if (graph[nx][ny] == 0) {
-                            count[nx][ny] = count[x][y];
-                            queue.offerFirst(new Node(nx, ny));
-                        } else {
-                            count[nx][ny] = count[x][y] + 1;
-                            queue.offer(new Node(nx, ny));
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        m = Integer.parseInt(line[0]);
-        n = Integer.parseInt(line[1]);
-
-        graph = new int[n][m];
-        count = new int[n][m];
-
-        for (int i = 0; i < n; i++) {
-            String input = br.readLine();
-            for (int j = 0; j < m; j++) {
-                graph[i][j] = Character.getNumericValue(input.charAt(j));
-                count[i][j] = -1;
-            }
-        }
-
-        bfs();
-
-        StringBuilder sb = new StringBuilder();
-        sb.append(count[n][m]);
-        System.out.print(sb);
-        br.close();
-    }
-
-    private static class Node {
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_12865.java b/JAVA_2021/src/BOJ/BOJ_12865.java
deleted file mode 100644
index a441881..0000000
--- a/JAVA_2021/src/BOJ/BOJ_12865.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_12865 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        int N = Integer.parseInt(st.nextToken());
-        int K = Integer.parseInt(st.nextToken());
-        int[][] dp = new int[N + 1][K + 1];
-        int[] weight = new int[N + 1];
-        int[] value = new int[N + 1];
-
-        for (int i = 1; i <= N; i++) {
-            st = new StringTokenizer(br.readLine());
-            weight[i] = Integer.parseInt(st.nextToken());
-            value[i] = Integer.parseInt(st.nextToken());
-        }
-
-        for (int i = 1; i <= N; i++) {
-            for (int j = 1; j <= K; j++) {
-                dp[i][j] = dp[i - 1][j];
-                if (j - weight[i] >= 0) {
-                    dp[i][j] = Math.max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);
-                }
-            }
-        }
-        bw.write(dp[N][K] + "\n");
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_13300.java b/JAVA_2021/src/BOJ/BOJ_13300.java
deleted file mode 100644
index c6cd1b3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_13300.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_13300 {
-    private static int[][] students;
-
-    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 K = Integer.parseInt(st.nextToken());
-
-        int[][] students = new int[6][2];
-
-        for (int t = 1; t <= N; t++) {
-            st = new StringTokenizer(br.readLine());
-            int S = Integer.parseInt(st.nextToken());
-            int Y = Integer.parseInt(st.nextToken());
-            students[Y - 1][S]++;
-        }
-
-        // 로직
-        int ans = 0;
-
-        for (int i = 0 ; i < 6; i++) {
-            for (int j = 0; j < 2; j++) {
-                ans += (students[i][j] / K + (students[i][j] % K == 0? 0 : 1));
-            }
-        }
-
-        // 출력
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1339.java b/JAVA_2021/src/BOJ/BOJ_1339.java
deleted file mode 100644
index 4566670..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1339.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_1339 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int[] alpha = new int[26];
-
-        int ans = 0;
-        int val = 9;
-
-        for (int i = 0 ;i < N; i++) {
-            char[] arr = br.readLine().toCharArray();
-            int pos = (int) Math.pow(10, arr.length - 1);
-
-            for (int j =0 ; j < arr.length; j++) {
-                alpha[arr[j] - 'A'] += pos;
-                pos /= 10;
-            }
-        }
-
-        Arrays.sort(alpha);
-
-        for (int i = alpha.length - 1; i >= 0; i--) {
-            if (val == 0) break;
-            ans += alpha[i] * val--;
-        }
-        System.out.println(ans);
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1357.java b/JAVA_2021/src/BOJ/BOJ_1357.java
deleted file mode 100644
index 6b7009d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1357.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_1357 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        int [] arr = new int[2];
-
-        String vote = br.readLine();
-        for (int i = 0; i < vote.length(); i++) {
-            arr[(vote.charAt(i) - 'A')]++;
-        }
-
-        if (arr[0] < arr[1]) {
-            System.out.println('B');
-        } else if (arr[0] > arr[1]) {
-            System.out.println('A');
-        } else {
-            System.out.println("Tie");
-        }
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_13746.java b/JAVA_2021/src/BOJ/BOJ_13746.java
deleted file mode 100644
index db9a115..0000000
--- a/JAVA_2021/src/BOJ/BOJ_13746.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_13746 {
-    private static char[][] graph;
-    private static int N, M;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static void dfs(int x, int y) {
-        if ( x < 0 || x >= N || y < 0 || y >= M || graph[x][y] == 'W' || graph[x][y] == 'A') return;
-        graph[x][y] = 'A';
-
-        for (int i = 0; i < 4; i++) {
-            int nx = x + dx[i];
-            int ny = y + dy[i];
-            dfs(nx, ny);
-        }
-    }
-
-    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());
-
-        graph = new char[N][M];
-        int ans = 0;
-
-        for (int i = 0; i < N; i++) {
-            String str = br.readLine();
-            for (int j = 0; j < M; j++) {
-                graph[i][j] = str.charAt(j);
-            }
-        }
-
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < M; j++) {
-                    if (graph[i][j] == 'L'){
-                        dfs(i, j);
-                        ans += 1;
-                    }
-                }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1427.java b/JAVA_2021/src/BOJ/BOJ_1427.java
deleted file mode 100644
index 5f3b456..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1427.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_1427 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        String N = st.nextToken();
-
-        int size = N.length();
-        char[] arr = new char[size];
-
-        for (int i = 0; i < size; i++) {
-            arr[i] = N.charAt(i);
-        }
-        Arrays.sort(arr);
-
-        for (int j = arr.length - 1; j >= 0; j--) {
-            System.out.print(arr[j]);
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1431.java b/JAVA_2021/src/BOJ/BOJ_1431.java
deleted file mode 100644
index dd524fb..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1431.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_1431 {
-
-    public static int add(String s){
-        int sum = 0;
-        for (int i = 0; i < s.length(); i++) {
-            if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
-                sum += s.charAt(i) - '0';
-            }
-        }
-        return sum;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        String[] arr= new String[N];
-
-        for (int i = 0; i < N; i++) {
-            arr[i] = br.readLine();
-        }
-
-        Arrays.sort(arr, (o1, o2) -> {
-            if(o1.length() < o2.length()) {
-                return -1;
-            } else if (o1.length() == o2.length()) {
-                if (add(o1) == add(o2)) {
-                    return o1.compareTo(o2);
-                } else {
-                    return Integer.compare(add(o1), add(o2));
-                }
-            } else {
-                return 1;
-            }
-        });
-        for (String i : arr) {
-            System.out.println(i);
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14502.java b/JAVA_2021/src/BOJ/BOJ_14502.java
deleted file mode 100644
index f45bc96..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14502.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_14502 {
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static int N, M, ans = 0;
-    private static int[][] graph, tmp;
-
-    private static void virus(int x, int y) {
-        for (int dir = 0; dir < 4; dir++) {
-            int nx = x + dx[dir];
-            int ny = y + dy[dir];
-
-            if (0 <= nx && nx < N && 0 <= ny && ny < M) {
-                if (tmp[nx][ny] == 0) {
-                    tmp[nx][ny] = 2;
-                    virus(nx, ny);
-                }
-            }
-        }
-    }
-
-    private static int cntSafeArea() {
-        int cnt = 0;
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < M; j++) {
-                if (tmp[i][j] == 0) {
-                    cnt++;
-                }
-            }
-        }
-        return cnt;
-    }
-
-    private static void dfs(int wall) {
-        if (wall == 3) { // 기저 조건 : 벽이 3개를 치는 경우 그래프를 복사해서 tmp에 저장하고 그것에 바이러스를 풀어서 0의 갯수 샌다.
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0; j < M; j++) {
-                    tmp[i][j] = graph[i][j];
-                }
-            }
-
-            for (int i = 0; i < N; i++) {
-                for (int j = 0; j < M; j++) {
-                    if (tmp[i][j] == 2) {
-                        virus(i, j);
-                    }
-                }
-            }
-            ans = Math.max(ans, cntSafeArea());
-            return;
-        }
-
-        for (int i = 0 ; i < N; i++) {
-            for (int j =0 ; j < M; j++) {
-                if (graph[i][j] == 0) {
-                    graph[i][j] = 1;
-
-                    dfs(wall + 1);
-                    graph[i][j] = 0;
-                }
-            }
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] str = br.readLine().split(" ");
-        N = Integer.parseInt(str[0]);
-        M = Integer.parseInt(str[1]);
-
-        graph = new int[N][M];
-        tmp = new int[N][M];
-
-        for (int i = 0 ; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int j = 0 ;j  < M; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-        dfs(0);
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14502_2.java b/JAVA_2021/src/BOJ/BOJ_14502_2.java
deleted file mode 100644
index d305616..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14502_2.java
+++ /dev/null
@@ -1,114 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_14502_2 {
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static int n, m, ans = 0;
-    private static int[][] graph, tmp;
-
-    private static int cntSafeArea() {
-        int res = 0;
-        for (int i = 0; i < n; i++) {
-            for (int j = 0; j < m; j++) {
-                if (tmp[i][j] == 0) {
-                    res++;
-                }
-            }
-        }
-        return res;
-    }
-
-    private static void spreadVirus(int x, int y) {
-        for (int dir = 0; dir < 4; dir++) {
-            int nx = x + dx[dir];
-            int ny = y + dy[dir];
-
-            if (0 <= nx && nx < n && 0 <= ny && ny < m) {
-                if (tmp[nx][ny] == 0) {
-                    tmp[nx][ny] = 2;
-                    spreadVirus(nx, ny);
-                }
-            }
-        }
-    }
-
-    private static void dfs(int wall) {
-        if (wall == 3) { // stop condition
-            for (int i = 0; i < n; i++) {
-                for (int j = 0; j < m; j++) {
-                    tmp[i][j] = graph[i][j];
-                }
-            }
-
-            for (int i = 0; i < n; i++) {
-                for (int j = 0; j < m; j++) {
-                    if (tmp[i][j] == 2) {
-                        spreadVirus(i, j);
-                    }
-                }
-            }
-
-            int cnt = cntSafeArea();
-            ans = ans < cnt ? cnt : ans;
-            return;
-        }
-
-        for (int i = 0 ; i < n; i++) { // set the wall
-            for (int j = 0 ;j  <m; j++) {
-                if (graph[i][j] == 0) {
-                    graph[i][j] = 1;
-                    wall++;
-                    dfs(wall);
-                    graph[i][j] = 0;
-                    wall--;
-                }
-            }
-        }
-    }
-
-    private static void Solution() {
-        StringBuilder sb = new StringBuilder();
-        dfs(0);
-        sb.append(ans).append("\n");
-        System.out.println(sb);
-
-    }
-
-    private static void input() 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());
-        graph = new int[n][m];
-        tmp = new int[n][m];
-
-        for (int i = 0 ; i <n; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0 ; j <m; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        } // graph
-        br.close();
-    }
-
-    public static void main(String[] args) throws IOException {
-        input();
-        Solution();
-    }
-
-    private static class Node{
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1463.java b/JAVA_2021/src/BOJ/BOJ_1463.java
deleted file mode 100644
index a19573a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1463.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_1463 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int N = Integer.parseInt(br.readLine());
-        int[] dp = new int[1000001];
-
-        for (int i = 2; i < N + 1; i++) {
-            dp[i] = dp[i - 1] + 1;
-
-            if (i % 3 == 0) dp[i] = Math.min(dp[i], dp[i / 3] + 1);
-            if (i % 2 == 0) dp[i] = Math.min(dp[i], dp[i / 2] + 1);
-        }
-        sb.append(dp[N]).append("\n");
-        System.out.print(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14650.java b/JAVA_2021/src/BOJ/BOJ_14650.java
deleted file mode 100644
index b444087..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14650.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_14650 {
-    static int ans;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        ans = 0;
-
-        dfs(0, 0, N);
-        System.out.println(ans);
-        br.close();
-    }
-
-    public static void dfs(int n, int sum, int finish) {
-        for (int i = 0; i < 3; i++) {
-            if (n == 0 && i == 0) continue;
-
-            if (n == finish) {
-                if (sum % 3 == 0) {
-                    ans++;
-                    return;
-                }
-            } else {
-                dfs(n + 1, sum + i, finish);
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14681.java b/JAVA_2021/src/BOJ/BOJ_14681.java
deleted file mode 100644
index 65cdb69..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14681.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_14681 {
-    public static void main(String[] args) throws IOException{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int x = Integer.parseInt(br.readLine());
-        int y = Integer.parseInt(br.readLine());
-
-        if (x > 0 && y > 0) {
-            System.out.println("1");
-        } else if (x < 0 && y > 0) {
-            System.out.println("2");
-        } else if (x < 0 && y < 0) {
-            System.out.println("3");
-        } else {
-            System.out.println("4");
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14696.java b/JAVA_2021/src/BOJ/BOJ_14696.java
deleted file mode 100644
index 1ec5a90..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14696.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_14696 {
-    private static int[] arrA;
-    private static int[] arrB;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-
-            int a = Integer.parseInt(st.nextToken());
-            arrA = new int[5];
-            for (int j = 0; j < a; j++) {
-                arrA[Integer.parseInt(st.nextToken())]++;
-            }
-
-            st = new StringTokenizer(br.readLine());
-
-            int b = Integer.parseInt(st.nextToken());
-            arrB = new int[5];
-            for (int j = 0; j < b; j++) {
-                arrB[Integer.parseInt(st.nextToken())]++;
-            }
-            System.out.println(calc(arrA, arrB));
-        }
-        br.close();
-    }
-
-    private static char calc (int[] a, int[] b) {
-        if (a[4] > b[4]) {
-            return 'A';
-        } else if (a[4] < b[4]) {
-            return 'B';
-        } else {
-            if (a[3] > b[3]) {
-                return 'A';
-            } else if (a[3] < b[3]) {
-                return 'B';
-            } else {
-                if (a[2] > b[2]) {
-                    return 'A';
-                } else if (a[2] < b[2]) {
-                    return 'B';
-                } else {
-                    if (a[1] > b[1]) {
-                        return 'A';
-                    } else if (a[1] < b[1]) {
-                        return 'B';
-                    } else {
-                        return 'D';
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14697.java b/JAVA_2021/src/BOJ/BOJ_14697.java
deleted file mode 100644
index 31c807c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14697.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_14697 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        int a = Integer.parseInt(st.nextToken());
-        int b = Integer.parseInt(st.nextToken());
-        int c = Integer.parseInt(st.nextToken());
-        int N = Integer.parseInt(st.nextToken());
-
-        int ans = 0;
-        for (int i = 0 ; i <= 50; i++) {
-            for (int j = 0 ; j <= 50; j++) {
-                for (int k = 0 ; k <= 50; k++) {
-                    if ((a * i) + (b * j) + (c * k) == N) ans = 1;
-                }
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1475.java b/JAVA_2021/src/BOJ/BOJ_1475.java
deleted file mode 100644
index ec69433..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1475.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_1475 {
-    public static int[] num = new int[10];
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String s = br.readLine();
-
-        for (int i = 0; i < s.length(); i++) {
-            num[(s.charAt(i)) - '0']++;
-        }
-        num[6] = (num[6] + num[9] + 1) / 2;
-        num[9] = 0;
-
-        int max = 0;
-        for (int i = 0 ; i < 10; i++) {
-            max = Math.max(num[i], max);
-        }
-        System.out.println(max);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14889.java b/JAVA_2021/src/BOJ/BOJ_14889.java
deleted file mode 100644
index 98f7969..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14889.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_14889 {
-    private static int[][] graph;
-    private static int[] select;
-    private static int N, ans;
-
-    private static void dfs(int idx, int depth) {
-        if (depth == N / 2) {
-            int start = 0;
-            int link = 0;
-
-            for (int i = 0; i < N; i++) {
-                for (int j = 0 ; j < N; j ++) {
-                    if (select[i] != 0 && select[j] != 0) {
-                        start += graph[i][j];
-                    } else if (select[i] == 0 && select[j] == 0) {
-                        link += graph[i][j];
-                    }
-                }
-            }
-            ans = Math.min(ans, Math.abs(start - link));
-        }
-
-        for (int i = idx; i < N; i++) {
-            if (select[i] != 0) {
-                continue;
-            }
-            select[i] = 1;
-            dfs(i + 1, depth + 1);
-            select[i] = 0;
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        graph = new int[N][N];
-        select = new int[N];
-        ans = 123456789;
-
-
-        for (int i = 0 ; i < N; i ++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < N; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-        dfs(0, 0);
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14923.java b/JAVA_2021/src/BOJ/BOJ_14923.java
deleted file mode 100644
index fb8452d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14923.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_14923 {
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static int N, M, hx, hy, ex, ey;
-    private static int[][] graph;
-    private static boolean[][][] visited;
-
-    private static int bfs(){
-        int ans = 0;
-        Queue<Node> queue = new LinkedList<>();
-        queue.offer(new Node(hx, hy, 0));
-        visited = new boolean[N][M][2];
-        visited[hx][hy][0] = true;
-
-        while (!queue.isEmpty()) {
-            ++ans;
-            int size = queue.size();
-            while (size > 0) {
-                Node node = queue.poll();
-                for (int i = 0; i < 4; i++) {
-                    int nx = node.x + dx[i];
-                    int ny = node.y + dy[i];
-
-                    if (0 <= nx && nx < N && 0 <= ny && ny < M) {
-                        if (graph[nx][ny] == 1) { // 벽을 만나
-                            if (node.cnt == 0 && !visited[nx][ny][node.cnt + 1]) { // 마법을 아직 안써
-                                if (nx == ex && ny == ey) return ans;
-                                queue.offer(new Node(nx, ny, node.cnt + 1));
-                                visited[nx][ny][node.cnt + 1] = true;
-                            }
-                        } else { // 길을 가
-                            if (!visited[nx][ny][node.cnt]) {
-                                if (nx == ex && ny == ey) return ans;
-                                queue.offer(new Node(nx, ny, node.cnt));
-                                visited[nx][ny][node.cnt] = true;
-                            }
-                        }
-                    }
-                }
-                size--;
-            }
-        }
-        return -1;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        N = Integer.parseInt(line[0]);
-        M = Integer.parseInt(line[1]);
-        graph = new int[N][M];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        hx = Integer.parseInt(st.nextToken()) - 1;
-        hy = Integer.parseInt(st.nextToken()) - 1;
-
-        st = new StringTokenizer(br.readLine());
-        ex = Integer.parseInt(st.nextToken()) - 1;
-        ey = Integer.parseInt(st.nextToken()) - 1;
-
-        for (int i = 0 ; i < N; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0 ; j < M; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append(bfs()).append("\n");
-        System.out.print(sb);
-        br.close();
-    }
-
-    private static class Node {
-        int x, y, cnt;
-
-        public Node(int x, int y, int cnt) {
-            this.x = x;
-            this.y = y;
-            this.cnt = cnt;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14938.java b/JAVA_2021/src/BOJ/BOJ_14938.java
deleted file mode 100644
index 24f3d14..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14938.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.PriorityQueue;
-import java.util.StringTokenizer;
-
-public class BOJ_14938 {
-    private static final int INF = (int) 1e9;
-    private static int N, M, R; // 지역의 갯수, 수색 범위, 길의 갯수
-    private static int[] items; // 아이템의 갯수
-    private static ArrayList<ArrayList<Node>> graph; // 인접리스트 선언
-    private static int[] d; // 최단 거리 배열
-    private static boolean[] visited; // 방문 확인
-
-    private static int dijikstra(int s) { // 우선 순위 큐 사용
-        Arrays.fill(d, INF); // 배열에 값들 초기화
-        Arrays.fill(visited, false);
-
-        PriorityQueue<Node> pq = new PriorityQueue<>();
-        pq.offer(new Node(0, s)); // 처음 시작 노드는 거리 배열이 0이다.
-        d[s] = 0; // 방문 처리
-
-        while (!pq.isEmpty()) {
-            Node node = pq.poll();
-            int now = node.idx; // 거리가 가장 짧은 노드의 번호를 뽑아줌
-
-            if (!visited[now]) {
-                visited[now] = true;
-
-                for (Node a : graph.get(now)) {
-                    if (!visited[a.idx] && d[a.idx] > d[now] + a.dist) { // 방문한적이 없고 현재 노드를 거쳐 다른 노드로 이동하는 거리가 더 짧을경우
-                        d[a.idx] = d[now] + a.dist; // 거리 배열에 값을 짧은 쪽으로 업데이트
-                        pq.add(new Node(d[a.idx], a.idx)); // 그 노드의 값을 Priority Queue에 저장
-                    }
-                }
-            }
-        }
-
-        int res = 0;
-        for (int i = 1; i <= N; i++) {
-            if (d[i] <= M) { // 거리 배열에 있는 값이 수색 범위 이내에 있다면
-                res += items[i]; // 아이템을 전부 더해준다.
-            }
-        }
-        return res;
-    }
-
-
-    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());
-        R = Integer.parseInt(st.nextToken());
-
-        items = new int[N + 1];
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 1; i <= N; i++) {
-            items[i] = Integer.parseInt(st.nextToken());
-        }
-
-        graph = new ArrayList<>();
-        for (int i =0 ; i <= N; i++) {
-            graph.add(new ArrayList<>());
-        }
-
-        for (int i = 1; i <= R; i++) {
-            st = new StringTokenizer(br.readLine());
-
-            int from = Integer.parseInt(st.nextToken());
-            int to = Integer.parseInt(st.nextToken());
-            int weight = Integer.parseInt(st.nextToken());
-
-            graph.get(from).add(new Node(weight, to)); // 양방향 인접리스트 구현
-            graph.get(to).add(new Node(weight, from));
-        }
-
-        d = new int[N + 1];
-        visited = new boolean[N + 1];
-
-        int ans = 0;
-        for (int i = 1; i <= N; i++) {
-            ans = Math.max(ans, dijikstra(i)); // 1번 노드부터 N번 노드까지 얻은 아이템중 최댓값을 저장
-        }
-        System.out.println(ans);
-        br.close();
-    }
-
-    private static class Node implements Comparable<Node> {
-        int dist, idx;
-
-        public Node(int dist, int idx) {
-            this.dist = dist;
-            this.idx = idx;
-        }
-
-        @Override
-        public int compareTo(Node o) {
-            return dist - o.dist;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_14938_FW.java b/JAVA_2021/src/BOJ/BOJ_14938_FW.java
deleted file mode 100644
index e56b470..0000000
--- a/JAVA_2021/src/BOJ/BOJ_14938_FW.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_14938_FW {
-    private static final int INF = (int) 1e9;
-
-    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 M = Integer.parseInt(st.nextToken());
-        int R = Integer.parseInt(st.nextToken());
-
-        int[] items = new int[N];
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N; i++) {
-            items[i] = Integer.parseInt(st.nextToken());
-        }
-
-        int[][] graph = new int[N + 1][N + 1];
-        for (int i = 0; i <= N; i++) {
-            Arrays.fill(graph[i], INF);
-        }
-
-        for (int i = 1 ; i <= N; i++) {
-            graph[i][i] = 0;
-        }
-
-
-        for (int i = 0 ; i < R; i++) {
-            st = new StringTokenizer(br.readLine());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-            int c = Integer.parseInt(st.nextToken());
-
-            graph[a][b] = graph[b][a] = c; // 양방향으로 데이터를 넣어준다
-        }
-
-
-        for (int z = 1; z < N + 1; z++) { // Floyd - Warshall
-            for (int a = 1; a < N + 1; a++) {
-                for (int b = 1; b < N + 1; b++) {
-                    graph[a][b] = Math.min(graph[a][b], graph[a][z] + graph[z][b]);
-                }
-            }
-        }
-
-        int ans = 0;
-        for (int i = 1; i <= N; i++) {
-            int tmp = 0;
-            for (int j = 1; j <= N; j++) {
-                if (graph[i][j] <= M) tmp += items[j - 1];
-            }
-            ans = Math.max(ans, tmp);
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
-
diff --git a/JAVA_2021/src/BOJ/BOJ_15184.java b/JAVA_2021/src/BOJ/BOJ_15184.java
deleted file mode 100644
index 57f73f5..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15184.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Locale;
-
-public class BOJ_15184 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String s = br.readLine().toUpperCase(Locale.ROOT);
-
-        int[] cnt = new int[26];
-
-        for (int i = 0; i < s.length(); i++) {
-            if (s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') cnt[s.charAt(i) - 'A']++;
-        }
-
-        for (int i = 0; i < 26; i++) {
-            System.out.print((char) (i + 65) + " | ");
-            while (cnt[i] != 0) {
-                System.out.print('*');
-                cnt[i]--;
-            }
-            System.out.println();
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_1546.java b/JAVA_2021/src/BOJ/BOJ_1546.java
deleted file mode 100644
index 7352b7c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1546.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1546 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        int[] arr = new int[N];
-        double sum = 0;
-        int max = Integer.MIN_VALUE;
-        double ans;
-
-        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-        for (int i = 0; i < arr.length; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-            if (arr[i] > max) {
-                max = arr[i];
-            }
-        }
-
-        for (int i = 0; i < arr.length; i++) {
-            sum += (double) arr[i] / max * 100;
-        }
-
-        ans = sum / (double) N;
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15649.java b/JAVA_2021/src/BOJ/BOJ_15649.java
deleted file mode 100644
index 3e20b8e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15649.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_15649 {
-    private static int N, M;
-    private static int[] arr;
-    private static boolean[] check;
-    private static BufferedWriter bw =  new BufferedWriter(new OutputStreamWriter(System.out));
-
-    private static void recursive(int depth, int start) throws IOException {
-        if (depth == M) {
-            for (int i = 0; i < M; i++) {
-                bw.write(arr[i] + " ");
-            }
-            bw.write("\n");
-            return;
-        }
-
-        for (int i = start; i <= N; i++) {
-            if (check[i]) continue;
-
-            arr[depth] = i;
-            check[i] = true;
-            recursive(depth + 1, start + 1);
-            check[i] = false;
-        }
-
-    }
-
-    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());
-
-        arr = new int[M];
-        check = new boolean[N + 1];
-
-
-        recursive(0, 1);
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15650.java b/JAVA_2021/src/BOJ/BOJ_15650.java
deleted file mode 100644
index 2c37d6f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15650.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_15650 {
-    private static int N, M;
-    private static int[] arr;
-    private static boolean[] chk;
-
-    private static void Recursive(int depth, int start) {
-        if (depth == M) {
-            for (int i = 0; i < arr.length; i++) {
-                System.out.print(arr[i] + " ");
-            }
-            System.out.println();
-            return;
-        }
-
-        for (int i = start; i <= N; i++) {
-            arr[depth] = i;
-            Recursive(depth + 1, i + 1);
-        }
-
-    }
-
-    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());
-
-        arr = new int[M];
-
-        Recursive(0, 1);
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15651.java b/JAVA_2021/src/BOJ/BOJ_15651.java
deleted file mode 100644
index 8f7e480..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15651.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package BOJ;
-
-import java.util.Arrays;
-import java.util.Scanner;
-
-class Boj_15651 {
-    private static int[] arr = new int[2];
-    private static int N, M;
-    private static void Recursive (int depth) {
-        if (depth == 2) {
-            for (int i = 0; i <depth; i++) {
-                System.out.println(Arrays.toString(arr));
-            }
-        }
-        for (int i = 1; i <= N; i++) {
-            for (int j = 1; j <= M; j++) {
-                arr[depth] = i;
-                Recursive(depth + 1);
-            }
-        }
-    }
-
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        N = Integer.parseInt(sc.next());
-        M = Integer.parseInt(sc.next());
-
-        Recursive(0);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15652.java b/JAVA_2021/src/BOJ/BOJ_15652.java
deleted file mode 100644
index 42f0d10..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15652.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_15652 {
-    private static int N, M;
-    private static int[] arr;
-    static BufferedWriter bw =  new BufferedWriter(new OutputStreamWriter(System.out));
-
-    private static void Recursive(int depth, int start) throws IOException {
-        if (depth == M) {
-            for (int i = 0; i < arr.length; i++) {
-                bw.write(arr[i] + " ");
-            }
-            bw.write("\n");
-            return;
-        }
-
-        for (int i = start; i <= N; i++) {
-            arr[depth] = i;
-            Recursive(depth + 1, i);
-        }
-    }
-
-    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());
-        arr = new int[M];
-
-        Recursive(0, 1);
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15653.java b/JAVA_2021/src/BOJ/BOJ_15653.java
deleted file mode 100644
index 9851fc2..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15653.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_15653 {
-    private static char[][] graph;
-    private static int N, M;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static boolean[][][][] visited;
-    private static Queue<Pair> queue;
-    private static int Redx, Redy, Bluex, Bluey;
-
-    private static int bfs() {
-        while (!queue.isEmpty()) {
-            Pair blue, red;
-
-            if (queue.peek().ty == 'B') {
-                blue = queue.poll();
-                red = queue.poll();
-            } else {
-                red = queue.poll();
-                blue = queue.poll();
-            }
-
-            boolean blueFin, redFin, afterR;
-            int bx, by, rx, ry;
-            int bnx, bny, rnx, rny;
-
-            for (int i = 0; i < 4; i++) {
-                blueFin = false;
-                redFin = false;
-                afterR = false;
-
-                bx = blue.x;
-                by = blue.y;
-                rx = red.x;
-                ry = red.y;
-
-                while (true) {
-                    bnx = bx + dx[i];
-                    bny = by + dy[i];
-                    if (bnx == rx && bny == ry) afterR = true;
-                    if (graph[bnx][bny] == '#') break;
-                    if (graph[bnx][bny] == 'O') {
-                        blueFin = true;
-                        break;
-                    }
-                    bx = bnx;
-                    by = bny;
-                }
-
-                while (true) {
-                    rnx = rx + dx[i];
-                    rny = ry + dy[i];
-                    if (graph[rnx][rny] == '#') break;
-                    if (graph[rnx][rny] == 'O') {
-                        redFin = true;
-                        break;
-                    }
-                    rx = rnx;
-                    ry = rny;
-                }
-
-                if (blueFin) continue;
-                if (redFin) return red.time + 1;
-
-                if (bx == rx && by == ry) {
-                    if (afterR) {
-                        bx -= dx[i];
-                        by -= dy[i];
-                    } else {
-                        rx -= dx[i];
-                        ry -= dy[i];
-                    }
-                }
-                if (visited[rx][ry][bx][by]) continue;
-                visited[rx][ry][bx][by] = true;
-
-                queue.offer(new Pair(bx, by, blue.time + 1, 'B'));
-                queue.offer(new Pair(rx, ry, red.time + 1,  'R'));
-            }
-        }
-       return -1;
-    }
-
-    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());
-        graph = new char[N][M];
-        visited = new boolean[N][M][N][M];
-
-        queue = new LinkedList<>();
-
-        for (int i = 0 ; i < N; i++) {
-            char[] c = br.readLine().toCharArray();
-            for (int j = 0 ; j < M; j++) {
-                if(c[j] == 'R') {
-                    graph[i][j] = '.';
-                    Redx = i;
-                    Redy = j;
-                    queue.offer(new Pair(i, j, 0, c[j]));
-                } else if (c[j] == 'B') {
-                    graph[i][j] = '.';
-                    Bluex = i;
-                    Bluey = j;
-                    queue.offer(new Pair(i, j, 0, c[j]));
-                } else {
-                    graph[i][j] = c[j];
-                }
-            }
-        }
-
-        visited[Redx][Redy][Bluex][Bluey] = true;
-        System.out.println(bfs());
-    }
-
-    static class Pair {
-        int x, y, time;
-        char ty;
-
-        public Pair(int x, int y, int time, char ty) {
-            this.x = x;
-            this.y = y;
-            this.time = time;
-            this.ty = ty;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15654.java b/JAVA_2021/src/BOJ/BOJ_15654.java
deleted file mode 100644
index 2cca8d3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15654.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_15654 {
-    private static int N, M;
-    private static int[] arr;
-    private static boolean[] chk;
-    private static int[] tmp;
-    private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-    private static void Recursive(int depth) throws IOException{
-        if (depth == M) {
-            for (int i = 0; i < M; i++) {
-                bw.write(tmp[i] + " ");
-            }
-            bw.write("\n");
-            return;
-        }
-
-        for (int i = 1; i <= N; i++) {
-            if (chk[i]) continue;
-
-            tmp[depth] = arr[i - 1];
-            chk[i] = true;
-            Recursive(depth + 1);
-            chk[i] = false;
-        }
-    }
-
-    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());
-
-        arr = new int[N];
-        chk = new boolean[N + 1];
-        tmp = new int[M];
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        Recursive(0);
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15655.java b/JAVA_2021/src/BOJ/BOJ_15655.java
deleted file mode 100644
index 07fea17..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15655.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_15655 {
-    private static int N, M;
-    private static int[] arr;
-    private static int[] tmp;
-    private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-    private static void Recursive(int depth, int start) throws IOException {
-        if (depth == M) {
-            for (int i = 0; i < M; i++) {
-                bw.write(tmp[i] + " ");
-            }
-            bw.write("\n");
-            return;
-        }
-
-        for (int i = start; i <= N; i++) {
-            tmp[depth] = arr[i - 1];
-            Recursive(depth + 1, i + 1);
-
-        }
-    }
-
-    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());
-
-        arr = new int[N];
-        tmp = new int[M];
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        Recursive(0, 1);
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15656.java b/JAVA_2021/src/BOJ/BOJ_15656.java
deleted file mode 100644
index c178434..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15656.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_15656 {
-    private static int N, M;
-    private static int[] arr;
-    private static int[] tmp;
-    private static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-    private static void Recursive(int depth, int start) throws IOException {
-        if (depth == M) {
-            for (int i = 0; i < M; i++) {
-                bw.write(tmp[i] + " ");
-            }
-            bw.write("\n");
-            return;
-        }
-
-        for (int i = start; i < N; i++) {
-            tmp[depth] = arr[i];
-            Recursive(depth + 1, i);
-
-        }
-    }
-
-    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());
-
-        arr = new int[N];
-        tmp = new int[M];
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        Recursive(0, 0);
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15663.java b/JAVA_2021/src/BOJ/BOJ_15663.java
deleted file mode 100644
index 86aa102..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15663.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.StringTokenizer;
-
-public class BOJ_15663 {
-    private static int N, M;
-    private static int[] arr;
-    private static int[] tmp;
-    private static boolean[] chk;
-    private static LinkedHashSet<String> ans;
-
-    private static void Recursive(int depth) throws IOException {
-        if (depth == M) {
-            StringBuilder sb = new StringBuilder();
-            for (int i : tmp) sb.append(i).append(' ');
-            ans.add(sb.toString());
-            return;
-        }
-
-        for (int i = 0; i < N; i++) {
-            if (chk[i]) continue;
-
-            chk[i] = true;
-            tmp[depth] = arr[i];
-            Recursive(depth + 1);
-            chk[i] = false;
-        }
-    }
-    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());
-
-        arr = new int[N];
-        tmp = new int[M];
-        chk = new boolean[N + 1];
-        ans = new LinkedHashSet<>();
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        Recursive(0);
-        ans.forEach(System.out::println);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15664.java b/JAVA_2021/src/BOJ/BOJ_15664.java
deleted file mode 100644
index 346924a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15664.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.StringTokenizer;
-
-public class BOJ_15664 {
-    private static int N, M;
-    private static int[] arr;
-    private static int[] tmp;
-    private static boolean[] chk;
-    private static LinkedHashSet<String> ans;
-
-    private static void Recursive(int depth, int start) throws IOException {
-        if (depth == M) {
-            StringBuilder sb = new StringBuilder();
-            for (int i : tmp) sb.append(i).append(' ');
-            ans.add(sb.toString());
-            return;
-        }
-
-        for (int i = start; i < N; i++) {
-            if (chk[i]) continue;
-
-            tmp[depth] = arr[i];
-            chk[i] = true;
-            Recursive(depth + 1, i + 1);
-            chk[i] = false;
-        }
-    }
-    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());
-
-        arr = new int[N];
-        tmp = new int[M];
-        chk = new boolean[N + 1];
-        ans = new LinkedHashSet<>();
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        Recursive(0, 0);
-        ans.forEach(System.out::println);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15665.java b/JAVA_2021/src/BOJ/BOJ_15665.java
deleted file mode 100644
index 64636f5..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15665.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_15665 {
-    private static int N, M;
-    private static int[] arr;
-    private static int[] tmp;
-
-    private static void Recursive(int depth, StringBuilder sb){
-        if (depth == M) {
-            for (int i = 0; i < M; i++) {
-                sb.append(tmp[i] + " ");
-            }
-            sb.append("\n");
-            return;
-        }
-        int num = 0;
-        for (int i = 0; i < N; i++) {
-            if (num == arr[i]) continue;
-            tmp[depth] = arr[i];
-            Recursive(depth + 1, sb);
-            num = arr[i];
-        }
-    }
-    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());
-
-        arr = new int[N];
-        tmp = new int[M];
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-        StringBuilder sb = new StringBuilder();
-
-        Arrays.sort(arr);
-        Recursive(0, sb);
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15666.java b/JAVA_2021/src/BOJ/BOJ_15666.java
deleted file mode 100644
index b76e54e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15666.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.StringTokenizer;
-
-public class BOJ_15666 {
-    private static int N, M;
-    private static int[] arr;
-    private static int[] tmp;
-    private static LinkedHashSet<String> ans;
-
-    private static void Recursive(int depth, int start){
-        if (depth == M) {
-            StringBuilder sb = new StringBuilder();
-            for (int i : tmp) sb.append(i).append(' ');
-            ans.add(sb.toString());
-            return;
-        }
-
-        int num = 0;
-        for (int i = start; i < N; i++) {
-            if (num == arr[i]) continue;
-            tmp[depth] = arr[i];
-            Recursive(depth + 1, i);
-            num = arr[i];
-        }
-    }
-    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());
-
-        arr = new int[N];
-        tmp = new int[M];
-        ans = new LinkedHashSet<>();
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Arrays.sort(arr);
-        Recursive(0, 0);
-        ans.forEach(System.out::println);
-        br.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_15685.java b/JAVA_2021/src/BOJ/BOJ_15685.java
deleted file mode 100644
index e0a42e2..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15685.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_15685 { // 드래곤 커브
-    private static int[] dx = {1, 0, -1, 0};
-    private static int[] dy = {0, -1, 0, 1};
-    private static int N, x, y, d, g;
-    private static int[][] graph;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        graph = new int[101][101];
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            x = Integer.parseInt(st.nextToken());
-            y = Integer.parseInt(st.nextToken());
-            d = Integer.parseInt(st.nextToken());
-            g = Integer.parseInt(st.nextToken());
-            graph[x][y] = 1;
-            int[] arr_g = new int[(int) Math.pow(2, g)];
-            arr_g[0] = d;
-            for (int j = 0 ; j< g; j++) {
-                for (int k = (int) Math.pow(2, j); k < (int) Math.pow(2, j + 1); k++) {
-                    arr_g[k] = (arr_g[(int) Math.pow(2, j + 1) - (k + 1)] + 1) % 4;
-                }
-            }
-            for (int k : arr_g) {
-                x += dx[k];
-                y += dy[k];
-                graph[x][y] = 1;
-            }
-        }
-
-        int answer = 0;
-        for (int i = 0; i < 100; i++) {
-            for (int j = 0 ; j <100; j++) {
-                if (graph[i][j] == 1) {
-                    if (graph[i + 1][j] == 1 && graph[i][j + 1] == 1 && graph[i + 1][j + 1] == 1) {
-                        answer++;
-                    }
-                }
-            }
-        }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append(answer);
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_15686.java b/JAVA_2021/src/BOJ/BOJ_15686.java
deleted file mode 100644
index d96bb1a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15686.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class BOJ_15686 {
-    private static int N, M;
-    private static int[][] graph;
-    private static int ans = 123456789;
-    private static ArrayList<Pair> house = new ArrayList<>();
-    private static ArrayList<Pair> chicken = new ArrayList<>();
-
-    private static void Combination(int depth, int n, int r, boolean[] visited) {
-        if (r == 0) {
-            ArrayList<Pair> list = new ArrayList<>(); // list에 뽑힌 치킨집 담을 예정
-            for (int i = 0; i < n; i++) {
-                if (visited[i]) {
-                    list.add(new Pair(chicken.get(i).x, chicken.get(i).y));
-                }
-            }
-            ans = Math.min(ans, DistanceCalc(list)); // 치킨거리 최소값 담기
-            return;
-        }
-        if (depth == n) return;
-
-        visited[depth] = true;
-        Combination(depth + 1, n, r - 1, visited);
-
-        visited[depth] = false;
-        Combination(depth + 1, n, r, visited);
-    }
-
-    private static int DistanceCalc (ArrayList<Pair> list) { // 집과 가장 가까운 치킨집의 치킨거리 구하고
-        int sum = 0;
-
-        for (int i = 0; i < house.size(); i++) {
-            int tmp = 123456789;
-            for (int j = 0; j < list.size(); j++) {
-                int distance = Math.abs(house.get(i).x - list.get(j).x) + Math.abs(house.get(i).y - list.get(j).y);
-                tmp = Math.min(tmp, distance);
-            }
-            sum += tmp; // 모든 치킨거리의 합을 구함
-        }
-        return sum;
-    }
-
-    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());
-        graph = new int[N][N];
-
-        for (int i = 0; i < N; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < N; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken()); // 맵에 데이터 저장
-                if (graph[i][j] == 1) { // 집이 있으면 house 배열에 좌표를 쌍으로 묶어 저장
-                    house.add(new Pair(i, j));
-                } else if (graph[i][j] == 2) { // 치킨집이 있으면 chicken 배열에 좌표를 쌍으로 묶어 저장
-                    chicken.add(new Pair(i, j));
-                }
-            }
-        }
-
-        boolean[] visited = new boolean[chicken.size()];
-        Combination(0, chicken.size(), M, visited); // 치킨집의 갯수와 뽑을 수를 지정해서 조합을 돌려본다
-        System.out.println(ans);
-        br.close();
-    }
-
-    static class Pair {
-        int x;
-        int y;
-
-        public Pair(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
-
diff --git a/JAVA_2021/src/BOJ/BOJ_15688.java b/JAVA_2021/src/BOJ/BOJ_15688.java
deleted file mode 100644
index f193869..0000000
--- a/JAVA_2021/src/BOJ/BOJ_15688.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-
-public class BOJ_15688 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-
-        int N = Integer.parseInt(br.readLine());
-        ArrayList<Integer> arr = new ArrayList<>();
-        for (int i = 0; i < N; i++) {
-            int num = Integer.parseInt(br.readLine());
-            arr.add(num);
-        }
-        arr.sort(null);
-        for (int i : arr) {
-            sb.append(i + "\n");
-        }
-        System.out.println(sb);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1592.java b/JAVA_2021/src/BOJ/BOJ_1592.java
deleted file mode 100644
index f036148..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1592.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1592 {
-    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 m = Integer.parseInt(st.nextToken());
-        int l = Integer.parseInt(st.nextToken());
-
-        int[] arr = new int[n + 1];
-        int ans = 0;
-        int idx = 1;
-        arr[1] = 1;
-
-        while (true) {
-            idx = (arr[idx] % 2 == 1) ? (idx + l) : (idx - l);
-
-            if (idx > n) {
-                idx %= n;
-            } else if (idx < 1){
-                idx += n;
-            }
-
-            arr[idx]++;
-            ans++;
-
-            if (arr[idx] == m) break;
-        }
-        System.out.println(ans);
-        br.close();
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1600.java b/JAVA_2021/src/BOJ/BOJ_1600.java
deleted file mode 100644
index b494efd..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1600.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_1600 {
-    private static int K, W, H, ans;
-    private static int[][] graph;
-    private static int[][][] visited;
-    private static Queue<Node> queue;
-
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static int[] horse_dx = {2, 1, 2, 1, -2, -1, -2, -1};
-    private static int[] horse_dy = {1, 2, -1, -2, 1, 2, -1, -2};
-
-    private static int bfs() {
-        while (!queue.isEmpty()) {
-            Node monkey = queue.poll();
-            int x = monkey.x;
-            int y = monkey.y;
-            int k = monkey.k;
-            int cnt = monkey.cnt;
-            if (x == H - 1 && y == W - 1) {
-                ans = visited[x][y][k];
-                break;
-            }
-
-            if (k < K) {
-                for (int d = 0; d < 8; d++) {
-                    int nx = x + horse_dx[d];
-                    int ny = y + horse_dy[d];
-                    if (0 <= nx && nx < H && 0 <= ny && ny < W) {
-                        if (visited[nx][ny][k + 1] == 0 && graph[nx][ny] == 0) {
-                            visited[nx][ny][k + 1] = cnt + 1;
-                            queue.offer(new Node(nx, ny, k + 1, cnt + 1));
-                        }
-                    }
-                }
-            }
-
-            for (int d = 0; d < 4; d++) {
-                int nx = x + dx[d];
-                int ny = y + dy[d];
-                if (0 <= nx && nx < H && 0 <= ny && ny < W) {
-                    if (visited[nx][ny][k] == 0 && graph[nx][ny] == 0) {
-                        visited[nx][ny][k] = cnt + 1;
-                        queue.offer(new Node(nx, ny, k, cnt + 1));
-                    }
-                }
-            }
-        }
-        return ans;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        K = Integer.parseInt(br.readLine());
-
-        String[] line = br.readLine().split(" ");
-        W = Integer.parseInt(line[0]);
-        H = Integer.parseInt(line[1]);
-
-        graph = new int[H][W];
-        visited = new int[H][W][K + 1];
-
-        for (int i = 0;i < H; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int j = 0 ; j < W; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-        ans = -1;
-        queue = new LinkedList<>();
-        queue.offer(new Node(0, 0, 0, 0));
-        visited[0][0][0] = 0;
-        System.out.println(bfs());
-        br.close();
-
-    }
-
-
-    private static class Node {
-        int x, y, k, cnt;
-
-        public Node(int x, int y, int k, int cnt) {
-            this.x = x;
-            this.y = y;
-            this.k = k;
-            this.cnt = cnt;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1620.java b/JAVA_2021/src/BOJ/BOJ_1620.java
deleted file mode 100644
index 1edf3fa..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1620.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-
-public class BOJ_1620 {
-
-    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 M = Integer.parseInt(st.nextToken());
-
-        Map<String, String> map = new HashMap<>();
-        for (int i =0; i < N; i++) {
-            String pokemon = br.readLine();
-            String num = Integer.toString(i + 1);
-            map.put(pokemon, num);
-            map.put(num, pokemon);
-        }
-
-        StringBuilder sb = new StringBuilder(M);
-
-        for (int i = 0; i < M; i++) {
-            sb.append(map.get(br.readLine()) + "\n");
-        }
-        System.out.println(sb);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16562.java b/JAVA_2021/src/BOJ/BOJ_16562.java
deleted file mode 100644
index df91cd3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16562.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_16562 {
-    private static int[] tmp, money;
-
-    private static int Find(int x) {
-        if (x == tmp[x]) return x;
-        return tmp[x] = Find(tmp[x]);
-    }
-
-    private static void Union(int x, int y) {
-        x = Find(x);
-        y = Find(y);
-
-        if (money[x] < money[y]) {
-            tmp[y] = tmp[x];
-        } else {
-            tmp[x] = tmp[y];
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        int N = Integer.parseInt(line[0]);
-        int M = Integer.parseInt(line[1]);
-        int K = Integer.parseInt(line[2]);
-
-        tmp = new int[N + 1];
-        for (int i = 0; i < N + 1; i++) {
-            tmp[i] = i;
-        }
-
-        money = new int[N + 1];
-        money[0] = 0;
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 1 ; i <= N; i++) {
-            money[i] = Integer.parseInt(st.nextToken());
-        }
-
-        for (int i = 0; i < M; i++) {
-            st = new StringTokenizer(br.readLine());
-            int v = Integer.parseInt(st.nextToken());
-            int w = Integer.parseInt(st.nextToken());
-            Union(v, w);
-        }
-
-        int ans = 0;
-        for (int i = 0; i < N + 1; i++) {
-            if (i == tmp[i]) {
-                ans += money[i];
-            }
-        }
-
-        if (K - ans < 0) {
-            System.out.println("Oh no");
-        } else {
-            System.out.println(ans);
-        }
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16918.java b/JAVA_2021/src/BOJ/BOJ_16918.java
deleted file mode 100644
index 2f2e637..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16918.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Deque;
-import java.util.LinkedList;
-import java.util.StringTokenizer;
-
-public class BOJ_16918 { // 봄버맨
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static int r, c, n;
-    private static char[][] graph;
-    private static Deque<Node> queue;
-
-    private static void allBombSet() {
-        for (int i = 0; i <r; i++) {
-            for (int j = 0; j < c; j++) {
-                if (graph[i][j] != 'O') graph[i][j] = 'O';
-            }
-        }
-    }
-
-    private static void bomb() {
-        while (!queue.isEmpty()) {
-            Node node = queue.poll();
-            int x = node.x;
-            int y = node.y;
-
-            graph[x][y] = '.';
-
-            for (int i = 0; i < 4; i++) {
-                int nx = x + dx[i];
-                int ny = y + dy[i];
-                if (0 <= nx && nx < r && 0 <= ny && ny < c) {
-                    if (graph[nx][ny] == 'O') graph[nx][ny] = '.';
-                }
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        r = Integer.parseInt(st.nextToken());
-        c = Integer.parseInt(st.nextToken());
-        n = Integer.parseInt(st.nextToken()) - 1;
-        graph = new char[201][201];
-
-        for (int i = 0; i < r; i++) {
-            String a = br.readLine();
-            for (int j = 0; j < c; j++) {
-                graph[i][j] = a.charAt(j);
-            }
-        }
-
-
-        while (n > 0){
-            queue = new LinkedList<>();
-            for (int i = 0 ; i < r; i++) {
-                for (int j = 0 ; j < c; j++) {
-                    if (graph[i][j] == 'O')
-                        queue.offer(new Node(i, j));
-                }
-            }
-            allBombSet();
-            n--;
-            bomb();
-            n--;
-        }
-
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0; i < r; i++) {
-            for (int j = 0; j < c; j++) {
-                sb.append(graph[i][j]);
-            }
-            sb.append("\n");
-        }
-        System.out.print(sb);
-        br.close();
-    }
-
-    private static class Node{
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16922.java b/JAVA_2021/src/BOJ/BOJ_16922.java
deleted file mode 100644
index 673b239..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16922.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_16922 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        boolean[] chk = new boolean[100000];
-
-        for (int i = 0 ; i <= N; i++) {
-            for (int j = 0 ; j <= N - i; j++) {
-                for (int k = 0 ; k <= N - i - j; k++) {
-                    int tmp = N - i - j - k;
-                    int sum = i + j * 5 + k * 10 + tmp * 50;
-                    chk[sum] = true;
-                }
-            }
-        }
-        int ans = 0;
-        for (int i = 1 ; i < chk.length; i++) {
-            if (chk[i]) ans++;
-        }
-    System.out.println(ans);
-    br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16926.java b/JAVA_2021/src/BOJ/BOJ_16926.java
deleted file mode 100644
index cf72e6e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16926.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_16926 {
-    private static int N, M, R;
-    private static int[] dx = {0, 1, 0, -1}; // 반시계방향 지정
-    private static int[] dy = {1, 0, -1, 0};
-    private static int[][] arr;
-
-    private static void find(int s) {
-        for (int i = 0 ; i < s; i ++) {
-            int x = i; // 회전 할 횟수마다 기준이 되는 좌표를 잡는다.
-            int y = i;
-            int dir = 0; // 아래부터 이동
-            int tmp = arr[x][y]; // 값 스왑할 때, (1) tmp = a 부분
-
-            while (dir < 4) { // 반시계 방향으로 돌아보자
-                int nx = x + dx[dir];
-                int ny = y + dy[dir];
-
-                if (i <= nx && nx < N - i && i <= ny && ny < M - i) { // 범위 이내라면
-                    arr[x][y] = arr[nx][ny]; // (2) a = b 부분
-                    x = nx; // 기준이 되는 그 다음 좌표 지정
-                    y = ny;
-                } else { // 범위를 벗어난다면
-                    dir++; // 방향을 바꿔준다.
-                }
-            }
-            arr[i + 1][i] = tmp; // (3) b = tmp 부분
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        N = Integer.parseInt(st.nextToken());
-        M = Integer.parseInt(st.nextToken());
-        R = Integer.parseInt(st.nextToken());
-
-        arr =  new int[N][M];
-
-        for (int i = 0; i < N; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < M; j++) {
-                arr[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-// 사각형의 내부 사각형이 있다면 회전시키기 위해서
-// 높이, 너비중 작은값으로 반 쪼개본다.
-// 1 1
-// 1 1 라면 1이 나올테고
-//
-// 1 1 1 1
-// 1 1 1 1
-// 1 1 1 1
-// 1 1 1 1 면 2가 나올테니
-
-        for (int i = 0 ; i < R; i++) {
-            find(Math.min(N, M) / 2);
-        }
-
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j< M; j++) {
-                bw.write(arr[i][j] + " ");
-            }
-            bw.write('\n');
-        }
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16927.java b/JAVA_2021/src/BOJ/BOJ_16927.java
deleted file mode 100644
index 3b5dc8e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16927.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_16927 {
-    private static int[] dx = {0, 1, 0, -1};
-    private static int[] dy = {1, 0, -1, 0};
-    private static int[][] graph;
-    private static int[][] visited;
-    private static int N, M, R;
-    private static int sX, sY, eX, eY;
-
-    private static int dfs(int x, int y, int idx) {
-        visited[x][y]++;
-        int nx = x + dx[idx];
-        int ny = y + dy[idx];
-
-        if (nx < sX || ny < sY || nx > eX || ny > eY) {
-            idx++;
-            nx = x + dx[idx];
-            ny = y + dy[idx];
-        }
-
-        if (visited[nx][ny] == visited[x][y]) {
-            int tmp = graph[x][y];
-            graph[x][y] = graph[nx][ny];
-            return tmp;
-        }
-
-        int tmp = graph[x][y];
-        graph[x][y] = dfs(nx, ny, idx);
-        return tmp;
-    }
-
-    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());
-        R = Integer.parseInt(st.nextToken());
-
-        graph = new int[N][M];
-        visited = new int[N][M];
-
-        for (int i = 0; i < N; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j  = 0; j < M; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-        sX = 0;
-        sY = 0;
-        eX = N - 1;
-        eY = M - 1;
-
-        int n = N;
-        int m = M;
-
-        for (int i = 0; ; i++) {
-            for (int j = 0; j < R % ((n - 1) * 2 + (m - 1) * 2); j++) {
-                dfs(i, i, 0);
-            }
-
-            sX++;
-            sY++;
-            eX--;
-            eY--;
-            n -= 2;
-            m -= 2;
-
-            if (sX > eX || sY > eY) break;
-        }
-
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < M; j++) {
-                sb.append(graph[i][j] + " ");
-            }
-            sb.append("\n");
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16935.java b/JAVA_2021/src/BOJ/BOJ_16935.java
deleted file mode 100644
index 8c52a2f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16935.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-public class BOJ_16935 {
-    static int n, m, r;
-    static int[] dx = { 0, 1, 0, -1 };
-    static int[] dy = { 1, 0, -1, 0 };
-    static int[][] arr;
-    static List<Integer> List;
-    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-    static void one() {
-        for (int i = 1; i <= arr.length / 2; i++) {
-            int[] temp = arr[i];
-            arr[i] = arr[arr.length - i];
-            arr[arr.length - i] = temp;
-        }
-
-    }
-
-    static void two() {
-        for (int i = 1; i < arr.length; i++) {
-            for (int j = 1; j <= arr[i].length / 2; j++) {
-                int temp = arr[i][j];
-                arr[i][j] = arr[i][arr[i].length - j];
-                arr[i][arr[i].length - j] = temp;
-            }
-        }
-    }
-
-    static void three() {
-        int[][] temp = copy(arr);
-        n = temp.length -1;
-        m = temp[0].length - 1;
-        arr = new int[m+1][n+1];
-        for (int i = 1, j = n; j >= 1; j--, i++) {
-            for (int k = 1; k <= m; k++) {
-                arr[k][j] = temp[i][k];
-            }
-        }
-    }
-
-    static void four() {
-        int[][] temp = copy(arr);
-        n = temp.length -1;
-        m = temp[0].length - 1;
-        arr = new int[m+1][n+1];
-        for (int i = 1, j = 1; j <= n; j++, i++) {
-            for (int k = 1; k <= m; k++) {
-                arr[k][j] = temp[i][m - k + 1];
-            }
-        }
-    }
-
-    static void five() {
-        int[][] temp = copy(arr);
-        n = temp.length-1;
-        m = temp[0].length-1;
-        // 1 -> 2
-        for (int j = 1; j <= n / 2; j++) {
-            for (int i = 1; i <= m / 2; i++) {
-                arr[j][m / 2 + i] = temp[j][i];
-            }
-        }
-        // 3 -> 4
-        for (int j = n / 2 + 1; j <= n; j++) {
-            for (int i = m / 2 + 1; i <= m; i++) {
-                arr[j][i - m / 2] = temp[j][i];
-            }
-        }
-
-        // 2 -> 3
-        for (int j = 1; j <= n / 2; j++) {
-            for (int i = m / 2 + 1; i <= m; i++) {
-                arr[j + n / 2][i] = temp[j][i];
-            }
-        }
-
-        // 4 -> 1
-        for (int j = n / 2 + 1; j <= n; j++) {
-            for (int i = 1; i <= m / 2; i++) {
-                arr[j - n / 2][i] = temp[j][i];
-            }
-        }
-    }
-
-    static void six() {
-        int[][] temp = copy(arr);
-        n = temp.length-1;
-        m = temp[0].length-1;
-        // 1 -> 4
-        for (int j = 1; j <= n / 2; j++) {
-            for (int i = 1; i <= m / 2; i++) {
-                arr[j + n / 2][i] = temp[j][i];
-            }
-        }
-        // 4 -> 3
-        for (int j = n / 2; j <= n; j++) {
-            for (int i = 1; i <= m / 2; i++) {
-                arr[j][m / 2 + i] = temp[j][i];
-            }
-        }
-        // 3 -> 2
-        for (int j = n / 2 + 1; j <= n; j++) {
-            for (int i = m / 2 + 1; i <= m; i++) {
-                arr[j - n / 2][i] = temp[j][i];
-            }
-        }
-        // 2 -> 1
-        for (int j = 1; j <= n / 2; j++) {
-            for (int i = m / 2 + 1; i <= m; i++) {
-                arr[j][i - m / 2] = temp[j][i];
-            }
-        }
-    }
-
-    static int[][] copy(int[][] arr) {
-        int[][] temp = new int[arr.length][arr[0].length];
-        for (int i = 1; i <= arr.length-1; i++) {
-            for (int j = 1; j <= arr[0].length-1; j++) {
-                temp[i][j] = arr[i][j];
-            }
-        }
-        return temp;
-    }
-
-    static void print(int arr[][]) throws IOException {
-        for (int i = 1; i < arr.length; i++) {
-            for (int j = 1; j < arr[i].length; j++) {
-                bw.append(arr[i][j] + " ");
-            }
-            bw.newLine();
-        }
-    }
-
-    static int stoi(String s) {
-        return Integer.parseInt(s);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        n = stoi(st.nextToken());
-        m = stoi(st.nextToken());
-        r = stoi(st.nextToken());
-
-        arr = new int[n + 1][m + 1];
-        for (int i = 1; i <= n; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 1; j <= m; j++) {
-                arr[i][j] = stoi(st.nextToken());
-            }
-        }
-
-        List = new ArrayList<>();
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < r; i++) {
-            List.add(stoi(st.nextToken()));
-        }
-
-        for (int i : List) {
-            switch (i) {
-                case 1: one(); break;
-                case 2: two(); break;
-                case 3: three(); break;
-                case 4: four(); break;
-                case 5: five(); break;
-                case 6: six(); break;
-                default: break;
-            }
-        }
-
-        print(arr);
-        bw.flush();
-        bw.close();
-    }
-
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_16956.java b/JAVA_2021/src/BOJ/BOJ_16956.java
deleted file mode 100644
index 94db19f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_16956.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_16956 {
-    private static int R, C;
-    private static char[][] graph;
-
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        R = Integer.parseInt(st.nextToken());
-        C = Integer.parseInt(st.nextToken());
-
-        graph = new char[R][C];
-        boolean flag = true;
-
-        for (int i = 0; i < R; i++) {
-            String str = br.readLine();
-            for (int j = 0; j < C; j++) {
-                graph[i][j] = str.charAt(j);
-            }
-        }
-
-        for (int i = 0; i < R; i++) {
-            for (int j = 0; j < C; j++) {
-                if (graph[i][j] == 'W') {
-                    for (int dir = 0; dir < 4; dir++) {
-                        int nx = i + dx[dir];
-                        int ny = j + dy[dir];
-
-                        if (0 <= nx && nx < R && 0 <= ny && ny < C) {
-                            if (graph[nx][ny] == '.') {
-                                graph[nx][ny] = 'D';
-                            } else if (graph[nx][ny] == 'S') {
-                                flag = false;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        if (!flag) {
-            System.out.println(0);
-        } else {
-            System.out.println(1);
-            for (int i =0 ; i < R; i++) {
-                for (int j =0; j < C; j++) {
-                    System.out.print(graph[i][j]);
-                }
-                System.out.println();
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1712.java b/JAVA_2021/src/BOJ/BOJ_1712.java
deleted file mode 100644
index d0d85c9..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1712.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_1712 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-
-        long a = Long.parseLong(st.nextToken());
-        long b = Long.parseLong(st.nextToken());
-        long c = Long.parseLong(st.nextToken());
-
-        if (c <= b) {
-            System.out.println("-1");
-        } else {
-            for (int n = 0; ; n++) {
-                long made_price = a + (b * n);
-                long selling_price = c * n;
-
-                if (made_price < selling_price) {
-                    System.out.println(n);
-                    break;
-                }
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17135.java b/JAVA_2021/src/BOJ/BOJ_17135.java
deleted file mode 100644
index e520471..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17135.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_17135 {
-    private static int[] dx = {0, -1, 0};
-    private static int[] dy = {-1, 0, 1};
-    private static int n, m, d, ans = 0;
-    private static int[][] graph;
-    private static boolean[] chk;
-
-    private static void Combination(int depth, int start) {
-        if (depth == 3) {
-            int[][] tmpGraph = new int[n + 1][m];
-            for (int i = 0; i < n; i++) {
-                for (int j = 0; j < m; j++) {
-                    tmpGraph[i][j] = graph[i][j];
-                }
-            }
-            bfs(tmpGraph);
-            return;
-        }
-
-        for (int i = start; i < m; i++) {
-            if (!chk[i]) {
-                chk[i] = true;
-                Combination(depth + 1, i);
-                chk[i] = false;
-            }
-        }
-    }
-
-    private static void bfs(int[][] arr) {
-        int cnt = 0;
-        for (int i = n; i > 0; i--) {
-            int archerIdx = 0;
-            Queue<Pair> queue = new LinkedList<>();
-            for (int j = 0; j < m; j++) {
-                if (chk[j]) {
-                    arr[i][j] = 2;
-                    queue.add(new Pair(i - 1, j, 1, archerIdx++));
-                } else {
-                    arr[i][j] = 0;
-                }
-            }
-
-            boolean[] enemyFind = new boolean[3];
-            boolean[][][] visited = new boolean[n][m][3];
-            boolean[][] alreadyFind = new boolean[n][m];
-            ArrayList<Pair> list = new ArrayList<>();
-
-            while (!queue.isEmpty()) {
-                Pair p = queue.poll();
-                int x = p.x;
-                int y = p.y;
-                int idx = p.idx;
-                int depth = p.depth;
-                if (enemyFind[idx]) continue;
-
-                if (arr[x][y] == 1){
-                    enemyFind[idx] = true;
-                    if (!alreadyFind[x][y]) {
-                        alreadyFind[x][y] = true;
-                        list.add(p);
-                        cnt++;
-                    }
-                    continue;
-                }
-                if (!enemyFind[idx]) {
-                    visited[x][y][idx] = true;
-                    for (int j = 0; j < 3; j++) {
-                        int nx = x + dx[j];
-                        int ny = y + dy[j];
-
-                        if (0 <= nx && nx < n && 0 <= ny && ny < m) {
-                            if (!visited[nx][ny][idx] && depth < d) {
-                                queue.add(new Pair(nx, ny, depth + 1, idx));
-                            }
-                        }
-                    }
-                }
-            }
-
-            for (int j = 0; j < list.size(); j++) {
-                Pair p = list.get(j);
-                arr[p.x][p.y] = 0;
-            }
-        }
-        ans = Math.max(ans, cnt);
-    }
-
-    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());
-        d = Integer.parseInt(st.nextToken());
-        graph = new int[n + 1][m];
-        chk = new boolean[m];
-
-        for (int i = 0; i < n; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < m; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-        Combination(0, 0);
-        System.out.println(ans);
-
-    }
-
-    static class Pair {
-        int x, y, depth, idx;
-
-        public Pair(int x, int y, int depth, int idx) {
-            this.x = x;
-            this.y = y;
-            this.depth = depth;
-            this.idx = idx;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1717.java b/JAVA_2021/src/BOJ/BOJ_1717.java
deleted file mode 100644
index 9109f9e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1717.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_1717 {
-    private static int[] parent;
-
-    private static int Find(int x) {
-        if (x == parent[x]) return x;
-        return parent[x] = Find(parent[x]);
-    }
-
-    private static void Union(int a, int b) {
-        a = Find(a);
-        b = Find(b);
-        if (a == b) return;
-        if (a < b) parent[b] = a;
-        else parent[a] = b;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        String[] line = br.readLine().split(" ");
-        int n = Integer.parseInt(line[0]);
-        int m = Integer.parseInt(line[1]);
-
-        parent = new int[n + 1];
-        for (int i = 0 ; i  < n + 1; i++) {
-            parent[i] = i;
-        }
-
-        for (int i = 0 ; i < m; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-            int c = Integer.parseInt(st.nextToken());
-
-            if (a == 0) {
-                Union(b, c);
-            } else {
-                if (Find(b) == Find(c)) {
-                    bw.write("YES" + "\n");
-                } else {
-                    bw.write("NO" + "\n");
-                }
-            }
-        }
-        bw.flush();
-        bw.close();
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17249.java b/JAVA_2021/src/BOJ/BOJ_17249.java
deleted file mode 100644
index 89cc859..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17249.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_17249 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String s = br.readLine();
-        int [] arr  = new int[2];
-        int tmp_left = 0;
-        int tmp_right = 0;
-
-        for (int i = 0; i < s.length(); i++) {
-            if (s.charAt(i) == '(') {
-                tmp_left = i;
-            }
-            if (s.charAt(i) == ')') {
-                tmp_right = i;
-            }
-        }
-
-        for (int i = 0 ; i < tmp_left; i++) {
-            if (s.charAt(i) == '@') {
-                arr[0]++;
-            }
-        }
-
-        for (int i = s.length() - 1; i > tmp_right; i--) {
-            if (s.charAt(i) == '@') {
-                arr[1]++;
-            }
-        }
-        System.out.println(arr[0] + " " + arr[1]);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17298.java b/JAVA_2021/src/BOJ/BOJ_17298.java
deleted file mode 100644
index 044f729..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17298.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-public class BOJ_17298 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int N = Integer.parseInt(br.readLine());
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        Stack<Integer> stack = new Stack<>();
-
-        int[] arr = new int[N];
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        int[] ans = new int[N];
-        for (int i = 0 ; i < N; i++) {
-            ans[i] = -1;
-        }
-
-        stack.push(0);
-        for (int i = 1; i < N; i++) {
-            if (stack.isEmpty()) stack.push(i);
-            while (!stack.isEmpty() && arr[stack.peek()] < arr[i]) {
-                ans[stack.peek()] = arr[i];
-                stack.pop();
-            }
-            stack.push(i);
-        }
-
-        for(int i=0; i<ans.length; i++) {
-            bw.write(ans[i] + " ");
-        }
-        bw.write("\n");
-        bw.flush();
-        bw.close();
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17298_2.java b/JAVA_2021/src/BOJ/BOJ_17298_2.java
deleted file mode 100644
index d5ec6cf..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17298_2.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Arrays;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-public class BOJ_17298_2 {
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int N = Integer.parseInt(br.readLine());
-
-        int[] arr =  new int[N];
-        int[] ans = new int[N];
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N ; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-            ans[i] = -1;
-        }
-
-        Stack<Integer> stack = new Stack<>();
-        stack.push(0);
-        for (int i = 1; i < N; i++) {
-            if (stack.isEmpty()) stack.push(i);
-            while (!stack.isEmpty() && arr[stack.peek()] <arr[i]) {
-                ans[stack.peek()] = arr[i];
-                stack.pop();
-            }
-            stack.push(i);
-        }
-        for (int i = 0; i < N; i++) {
-            sb.append(ans[i]).append(" ");
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17299.java b/JAVA_2021/src/BOJ/BOJ_17299.java
deleted file mode 100644
index e6738d1..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17299.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Stack;
-
-public class BOJ_17299 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int num = Integer.parseInt(br.readLine());
-        String[] a = br.readLine().split(" ");
-
-        int[] input = new int[num];
-        int[] numCnt = new int[1000001];
-        int[] ans = new int[num];
-        for (int i = 0; i < ans.length; i++) {
-            ans[i] = -1;
-        }
-
-        Stack<Integer> stack = new Stack<>();
-
-        for (int i = 0 ; i < num; i++) {
-            input[i] = Integer.parseInt(a[i]);
-            numCnt[input[i]]++;
-        }
-
-        // 로직부
-        for (int i = 0; i < num; i++) {
-            if (stack.isEmpty()) stack.push(i);
-            while (!stack.isEmpty() && numCnt[input[stack.peek()]] < numCnt[input[i]]) {
-                ans[stack.pop()] = input[i];
-            }
-            stack.push(i);
-        }
-
-        // 출력
-        for (int i = 0 ; i < num; i++) {
-            bw.write(ans[i] + " ");
-        }
-        bw.flush();
-        bw.close();
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17350.java b/JAVA_2021/src/BOJ/BOJ_17350.java
deleted file mode 100644
index d7178b3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17350.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_17350 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        String [] arr = new String[N];
-        for (int i = 0; i < N; i++) {
-            arr[i] = br.readLine();
-        }
-        int ans = 0;
-        for (int i = 0 ; i < N; i++) {
-            if (arr[i].equals("anj")) {
-                ans++;
-            }
-        }
-        if (ans > 0) {
-            System.out.println("뭐야;");
-        } else {
-            System.out.println("뭐야?");
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17406.java b/JAVA_2021/src/BOJ/BOJ_17406.java
deleted file mode 100644
index f66d9fc..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17406.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_17406 {
-    private static int N, M, K;
-    private static int[] dx = {0, 1, 0, -1};
-    private static int[] dy = {1, 0, -1, 0};
-    private static int[][] graph;
-
-    private static void rotate(int start_x, int start_y, int end_x, int end_y, int depth) {
-        for (int i = 0; i < depth; i++) {
-            int x = start_x + i;
-            int y = start_y + i;
-            int dir = 0;
-            int tmp = graph[x][y];
-
-            while (dir < 4) {
-                int nx = x + dx[dir];
-                int ny = y + dy[dir];
-
-                if (x <= nx && nx < end_x && y <= ny && ny < end_y) {
-                    graph[x][y] = graph[nx][ny];
-                    x = nx;
-                    y = ny;
-                } else {
-                    dir++;
-                }
-            }
-
-            graph[i + 1][i] = tmp;
-        }
-    }
-
-
-
-    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());
-        K = Integer.parseInt(st.nextToken());
-
-        graph = new int[N][M];
-
-        for (int i = 0; i < N; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < M; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-        st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < K; i++) {
-            int r = Integer.parseInt(st.nextToken());
-            int c = Integer.parseInt(st.nextToken());
-            int s = Integer.parseInt(st.nextToken());
-
-            rotate(r - s, c - s, r + s, c + s, s);
-        }
-
-        for (int i = 0; i <N; i++) {
-            for (int j = 0; j < M; j++) {
-                System.out.print(graph[i][j] + " ");
-            }
-            System.out.println();
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17413.java b/JAVA_2021/src/BOJ/BOJ_17413.java
deleted file mode 100644
index 6945de3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17413.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Stack;
-
-public class BOJ_17413 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        String str = br.readLine();
-
-        Stack<Character> stack = new Stack<>();
-
-        boolean tag = false;
-
-        for (int i = 0; i < str.length(); i++) {
-            if (str.charAt(i) == '<') {
-                tag = true;
-                while(!stack.isEmpty()) bw.write(stack.pop());
-                bw.write(str.charAt(i));
-            } else if (str.charAt(i) == '>') {
-                tag = false;
-                bw.write(str.charAt(i));
-            } else if (tag) {
-                bw.write(str.charAt(i));
-            } else {
-                if (str.charAt(i) == ' ') {
-                    while(!stack.isEmpty()) bw.write(stack.pop());
-                    bw.write(str.charAt(i));
-                } else {
-                    stack.push(str.charAt(i));
-                }
-            }
-        }
-
-        while(!stack.isEmpty()) bw.write(stack.pop());
-
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_17478.java b/JAVA_2021/src/BOJ/BOJ_17478.java
deleted file mode 100644
index 36bbfb7..0000000
--- a/JAVA_2021/src/BOJ/BOJ_17478.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_17478 {
-    static String[] StringArr;
-    static String underLine = "";
-
-    private static void recursive(int n) {
-        String ul = underLine;
-
-        if (n == 0) {
-            System.out.println(ul + StringArr[0]);
-            System.out.println(ul + StringArr[4]);
-            System.out.println(ul + StringArr[5]);
-            return;
-        }
-
-        for (int i = 0; i < 4; i++) {
-            System.out.println(ul + StringArr[i]);
-        }
-
-        underLine += "____";
-        recursive(n - 1);
-        System.out.println(ul + StringArr[5]);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        StringArr = new String[6];
-        for (int i = 0; i < StringArr.length; i++) {
-            StringArr[i] = " ";
-        }
-
-        System.out.println("어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.");
-        StringArr[0] = "\"재귀함수가 뭔가요?\"";
-        StringArr[1] = "\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.";
-        StringArr[2] = "마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.";
-        StringArr[3] = "그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"";
-        StringArr[4] = "\"재귀함수는 자기 자신을 호출하는 함수라네\"";
-        StringArr[5] = "라고 답변하였지.";
-
-        recursive(T);
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1753.java b/JAVA_2021/src/BOJ/BOJ_1753.java
deleted file mode 100644
index 053998e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1753.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.PriorityQueue;
-import java.util.StringTokenizer;
-
-public class BOJ_1753 {
-    private static final int INF = (int) 1e9;
-    private static int v, e, k;
-    private static ArrayList<Node> list[];
-    private static int[] d;
-    private static boolean[] visited;
-
-    private static void dijkstra(){
-        PriorityQueue<Node> pq = new PriorityQueue<>();
-        pq.add(new Node(k, 0));
-
-        while(!pq.isEmpty()) {
-            Node a = pq.poll();
-            int a_idx = a.idx;
-            if (visited[a_idx]) continue;
-            visited[a_idx] = true;
-            for (Node o: list[a_idx]) {
-                if (d[o.idx] > d[a_idx] + o.distance) {
-                    d[o.idx] = d[a_idx] + o.distance;
-                    pq.add(new Node(o.idx, d[o.idx]));
-                }
-            }
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        v = Integer.parseInt(line[0]);
-        e = Integer.parseInt(line[1]);
-        k = Integer.parseInt(br.readLine());
-
-        d = new int[v + 1];
-        list = new ArrayList[v + 1];
-        visited = new boolean[v + 1];
-
-        for (int i = 0 ; i <= v; i++) {
-            list[i] = new ArrayList<>();
-        }
-        Arrays.fill(d, INF);
-        d[k] = 0;
-
-        for (int i = 0 ; i < e; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-            int c = Integer.parseInt(st.nextToken());
-            list[a].add(new Node(b, c));
-        }
-
-        dijkstra();
-
-        StringBuilder sb = new StringBuilder();
-        for (int i = 1; i <= v; i++) {
-            if (d[i] == INF) {
-                sb.append("INF").append("\n");
-            } else {
-                sb.append(d[i]).append("\n");
-            }
-        }
-        System.out.print(sb);
-        br.close();
-    }
-
-    private static class Node implements Comparable<Node>{
-        int idx, distance;
-
-        public Node(int idx, int distance) {
-            this.idx = idx;
-            this.distance = distance;
-        }
-
-        @Override
-        public int compareTo(Node o) {
-            return this.distance - o.distance;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1755.java b/JAVA_2021/src/BOJ/BOJ_1755.java
deleted file mode 100644
index 468c0f3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1755.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-
-public class BOJ_1755 {
-    private static ArrayList<Node> arr;
-    private static String[] alphabet = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        int M = Integer.parseInt(line[0]);
-        int N = Integer.parseInt(line[1]);
-        arr = new ArrayList<>();
-        for (int i = M; i <= N; i++) {
-            if (i < 10) {
-                arr.add(new Node(i, alphabet[i]));
-            } else {
-                int ten = i / 10;
-                int one = i % 10;
-                arr.add(new Node(i, alphabet[ten] + " " + alphabet[one]));
-            }
-        }
-
-        Collections.sort(arr);
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0 ; i < arr.size(); i++) {
-            if (i != 0 && i % 10 == 0) {
-                sb.append("\n");
-            }
-            sb.append(arr.get(i).num).append(" ");
-        }
-        System.out.print(sb);
-        br.close();
-    }
-
-
-    private static class Node implements Comparable<Node>{
-        int num;
-        String eng;
-
-        public Node(int num, String eng) {
-            this.num = num;
-            this.eng = eng;
-        }
-
-        @Override
-        public String toString() {
-            return "[" + num + ", " + eng + "]";
-        }
-
-        @Override
-        public int compareTo(Node o) {
-            return this.eng.compareTo(o.eng);
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1759.java b/JAVA_2021/src/BOJ/BOJ_1759.java
deleted file mode 100644
index 99fcd8b..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1759.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_1759 {
-    private static int L;
-    private static int C;
-    private static char[] srcArr;
-    private static char[] resArr;
-
-    private static final char[] mo = { 'a', 'e', 'i', 'o', 'u'};
-    private static final char[] ja = {
-            'b', 'c', 'd', 'f', 'g',
-            'h', 'j', 'k', 'l', 'm',
-            'n', 'p', 'q', 'r', 's',
-            't', 'v', 'w', 'x', 'y',
-            'z'};
-    private static StringBuilder sb = new StringBuilder();
-    private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-    private static StringTokenizer st;
-
-    private static boolean contains(char[] obj1, char[] obj2, int cnt){
-        int res = 0;
-        for(int i = 0; i < obj1.length; i++){
-            for(int j = 0 ; j < obj2.length; j++){
-                if(obj1[i] == obj2[j]){
-                    if(++res == cnt )   return true;
-                }
-            }
-        }
-        return false;
-    }
-
-    private static void f(int idx, int idxStart){
-        if(idx == L){
-            if(contains(mo, resArr, 1) && contains(ja, resArr, 2))
-                sb.append(resArr).append("\n");
-            return ;
-        }
-
-        for(int i = idxStart ; i < C ; i++){
-            resArr[idx] = srcArr[i];
-            f(idx + 1, i + 1);
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        st = new StringTokenizer(br.readLine());
-        L = Integer.parseInt(st.nextToken());
-        C = Integer.parseInt(st.nextToken());
-
-        srcArr = new char[C];
-        resArr = new char[L];
-
-        st = new StringTokenizer(br.readLine());
-        for(int i = 0 ; i < C ; i++ ){
-            srcArr[i] = st.nextToken().charAt(0);
-        }
-        Arrays.sort(srcArr);
-        f(0, 0);
-        System.out.println(sb);
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_18409.java b/JAVA_2021/src/BOJ/BOJ_18409.java
deleted file mode 100644
index d1a7f9e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_18409.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.Buffer;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_18409 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        char[] arr = new char[N];
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0; i < N; i++) {
-            arr[i] = st.nextToken().charAt(i);
-        }
-        System.out.println(Arrays.toString(arr));
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1863.java b/JAVA_2021/src/BOJ/BOJ_1863.java
deleted file mode 100644
index e722001..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1863.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-public class BOJ_1863 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int N = Integer.parseInt(br.readLine());
-        int ans = 0;
-        Stack<Integer> s = new Stack<>();
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            st.nextToken();
-            int h = Integer.parseInt(st.nextToken());
-            while (!s.isEmpty() && s.peek() > h) {
-                ans++;
-                s.pop();
-            }
-            if (!s.isEmpty() && s.peek() == h) continue;
-            s.push(h);
-        }
-        while (!s.isEmpty() && s.peek() > 0) {
-            ans++;
-            s.pop();
-        }
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_18883.java b/JAVA_2021/src/BOJ/BOJ_18883.java
deleted file mode 100644
index 55e2751..0000000
--- a/JAVA_2021/src/BOJ/BOJ_18883.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_18883 {
-    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 M = Integer.parseInt(st.nextToken());
-        StringBuilder sb = new StringBuilder();
-        int cnt = 1;
-
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < M; j++) {
-                if (j != 0) {
-                    sb.append(' ');
-                }
-                sb.append(cnt++);
-            }
-            sb.append('\n');
-        }
-        System.out.println(sb);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1912.java b/JAVA_2021/src/BOJ/BOJ_1912.java
deleted file mode 100644
index 5755b4f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1912.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class BOJ_1912 {
-    private static int max (int a, int b) {
-        if (a > b) {
-            return a;
-        } else {
-            return b;
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-        int N = Integer.parseInt(br.readLine());
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int[] arr = new int[N];
-
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        ArrayList<Integer> dp = new ArrayList<>();
-        dp.add(arr[0]);
-
-        for (int i = 0; i < N - 1; i++) {
-            dp.add(max((dp.get(i) + arr[i + 1]), arr[i + 1]));
-        }
-
-        int ans = -123456789;
-        for (int i = 0 ; i < N; i++) {
-            ans = max(ans, dp.get(i));
-        }
-
-        bw.write(ans +"\n");
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1914.java b/JAVA_2021/src/BOJ/BOJ_1914.java
deleted file mode 100644
index 0d7872a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1914.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.math.BigInteger;
-
-public class BOJ_1914 {
-    private static void hanoi_tower (int cnt, int from, int aux, int to){
-        if (cnt == 1) {
-            System.out.println(from + " " + to);
-            return;
-        }
-        hanoi_tower(cnt - 1, from, to, aux);
-        System.out.println(from + " " + to);
-        hanoi_tower(cnt - 1, aux, from, to);
-    }
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        BigInteger ans = new BigInteger("1");
-        if (N == 1) System.out.println(1);
-        else {
-            for (int i = 0 ; i <  N; i++) {
-                ans = ans.multiply(new BigInteger("2"));
-            }
-            ans = ans.subtract(new BigInteger("1"));
-            System.out.println(ans);
-        }
-        if (N <= 20) {
-            hanoi_tower(N, 1, 2, 3);
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1918.java b/JAVA_2021/src/BOJ/BOJ_1918.java
deleted file mode 100644
index 26ff3d1..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1918.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Stack;
-
-public class BOJ_1918 {
-    public static int Check_Op(char c) {
-        switch (c) {
-            case '*':
-            case '/':
-                return 2;
-            case '+':
-            case '-':
-                return 1;
-            case '(':
-            case ')':
-                return 0;
-        }
-        return -1;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        Stack<Character> op = new Stack<>();
-        StringBuilder sb = new StringBuilder();
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-        char[] s = br.readLine().toCharArray();
-
-        for (int i = 0; i < s.length; i++) {
-            int op_check = Check_Op(s[i]);
-            char c = s[i];
-
-            switch (c) {
-                case '+':
-                case '-':
-                case '*':
-                case '/':
-                    while (!op.isEmpty() && Check_Op(op.peek()) >= op_check) {
-                        sb.append(op.pop());
-                    }
-                    op.push(c);
-                    break;
-                case '(':
-                    op.push(c);
-                    break;
-                case ')':
-                    while (!op.isEmpty() && op.peek() != '(') {
-                        sb.append(op.pop());
-                    }
-                    op.pop();
-                    break;
-                default:
-                    sb.append(c);
-            }
-        }
-        while(!op.isEmpty()) {
-            sb.append(op.pop());
-        }
-        bw.write(sb.toString() + "\n");
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1931.java b/JAVA_2021/src/BOJ/BOJ_1931.java
deleted file mode 100644
index aa9efe8..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1931.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package BOJ;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Scanner;
-
-public class BOJ_1931 {
-    private static int cnt;
-    static class MeetingRoom implements Comparable<MeetingRoom> {
-        int no, start, end;
-
-        public MeetingRoom(int no, int start, int end) {
-            super();
-            this.no = no;
-            this.start = start;
-            this.end = end;
-        }
-
-        @Override
-        public int compareTo(MeetingRoom o) {
-            int diff = this.end - o.end;
-            return diff != 0 ? diff : this.start - o.start;
-        }
-    }
-
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-
-        int N = sc.nextInt();
-        MeetingRoom[] room  = new MeetingRoom[N];
-
-        for (int i = 0; i < N; i++) {
-            room[i] = new MeetingRoom(i + 1, sc.nextInt(), sc.nextInt());
-        }
-        List<MeetingRoom> list = getSchedule(room);
-        System.out.println(cnt);
-    }
-
-    public static List<MeetingRoom> getSchedule(MeetingRoom[] room) {
-        cnt = 1;
-        ArrayList<MeetingRoom> list = new ArrayList<>();
-        Arrays.sort(room);
-        list.add(room[0]);
-
-        for (int i = 1, size = room.length; i < size; i++) {
-            if (list.get(list.size() - 1).end <= room[i].start) {
-                list.add(room[i]);
-                cnt++;
-            }
-        }
-        return list;
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1931_2.java b/JAVA_2021/src/BOJ/BOJ_1931_2.java
deleted file mode 100644
index 6d4196a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1931_2.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.StringTokenizer;
-
-public class BOJ_1931_2 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int[][] time = new int[N][2];
-
-        for (int i = 0 ;i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            time[i][0] = Integer.parseInt(st.nextToken()); // start
-            time[i][1] = Integer.parseInt(st.nextToken()); // finish
-        }
-
-        int tmp = -123456789;
-        int cnt = 0;
-
-        Arrays.sort(time, 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 < N; i++) {
-            if (time[i][0] >= tmp) {
-                tmp = time[i][1];
-                cnt++;
-            }
-        }
-        
-        System.out.println(cnt);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1946.java b/JAVA_2021/src/BOJ/BOJ_1946.java
deleted file mode 100644
index 804d97e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1946.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_1946 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            ArrayList<Node> arr = new ArrayList<>();
-            for (int i = 0;  i< N; i++) {
-                StringTokenizer st= new StringTokenizer(br.readLine());
-                int s1 = Integer.parseInt(st.nextToken());
-                int s2 = Integer.parseInt(st.nextToken());
-                arr.add(new Node(s1, s2));
-            }
-
-            Collections.sort(arr, (s1, s2) -> s1.s1 - s2.s1);
-
-            int tmp = arr.get(0).s2;
-            int ans = 0;
-
-            for (int i = 0; i < arr.size(); i++) {
-                if (arr.get(i).s2 > tmp) {
-                    ans++;
-                } else {
-                    tmp = arr.get(i).s2;
-                }
-
-            }
-            System.out.println(N - ans);
-        }
-        br.close();
-    }
-
-    static class Node{
-        int s1, s2;
-        public Node(int s1, int s2) {
-            this.s1 = s1;
-            this.s2 = s2;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_19622.java b/JAVA_2021/src/BOJ/BOJ_19622.java
deleted file mode 100644
index fa53abd..0000000
--- a/JAVA_2021/src/BOJ/BOJ_19622.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_19622 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        Pair[] arr = new Pair[N];
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int start = Integer.parseInt(st.nextToken());
-            int end = Integer.parseInt(st.nextToken());
-            int capacity = Integer.parseInt(st.nextToken());
-            arr[i] = new Pair(start, end, capacity);
-        }
-
-
-        int[] dp = new int[N];
-        int ans = -123456789;
-        dp[0] = arr[0].capacity;
-
-        if (N >= 1) {
-            ans = dp[0];
-        }
-
-        if (N >= 2) {
-            dp[1] = arr[1].capacity;
-        }
-
-        for (int i = 2; i < N; i++) {
-            dp[i] = arr[i].capacity + ans;
-            ans = Math.max(ans, dp[i - 1]);
-        }
-        ans = Math.max(ans, dp[N - 1]);
-        System.out.println(ans);
-        br.close();
-    }
-}
-
-class Pair {
-    int start;
-    int end;
-    int capacity;
-
-    public Pair(int start, int end, int capacity) {
-        this.start = start;
-        this.end = end;
-        this.capacity = capacity;
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_1969.java b/JAVA_2021/src/BOJ/BOJ_1969.java
deleted file mode 100644
index eda5eef..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1969.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_1969 {
-    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 m = Integer.parseInt(st.nextToken());
-
-        String[] arr = new String[n];
-        int[][] alphabet = new int[m][26];
-
-        for (int i = 0; i< n; i++) {
-            arr[i] = br.readLine();
-            for (int j = 0 ; j < m; j++) {
-                alphabet[j][arr[i].charAt(j) - 'A']++;
-            }
-        }
-
-        StringBuilder sb = new StringBuilder();
-        for (int i = 0 ; i < m; i++) {
-            int max = -123456789;
-            int idx = 0;
-
-            for (int j = 0; j < 26; j++) {
-                if (alphabet[i][j] > max){
-                    max = alphabet[i][j];
-                    idx = j;
-                }
-            }
-            sb.append((char) (idx + 'A'));
-        }
-        System.out.println(sb.toString());
-
-        int ans = 0;
-        for (int i = 0;  i< n; i++) {
-            for (int j = 0 ; j < m; j++) {
-                if (sb.charAt(j) != arr[i].charAt(j)) ans++;
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1987.java b/JAVA_2021/src/BOJ/BOJ_1987.java
deleted file mode 100644
index ddce5a8..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1987.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1987 {
-    private static int R, C, ans = -123456789;
-    private static boolean[] visited;
-    private static char[][] graph;
-
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static void dfs(int x, int y, int m) {
-        visited[graph[x][y] - 'A'] = true;
-
-        for (int i = 0; i < 4; i++) {
-            int nx = x + dx[i], ny = y + dy[i];
-
-            if (0 <= nx && nx < R && 0 <= ny && ny < C){
-                if (!visited[graph[nx][ny] - 'A']) {
-                    dfs(nx, ny, m + 1);
-
-                }
-            }
-        }
-        visited[graph[x][y] - 'A'] = false;
-        ans = Math.max(ans, m);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        R = Integer.parseInt(st.nextToken());
-        C = Integer.parseInt(st.nextToken());
-
-        graph = new char[R][C];
-        visited = new boolean[26];
-
-        for (int i = 0 ; i < R; i++) {
-            String tmp = br.readLine();
-            for (int j = 0; j < C; j++) {
-                graph[i][j] = tmp.charAt(j);
-            }
-        }
-        dfs(0, 0, 1);
-        System.out.println(ans);
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_1992.java b/JAVA_2021/src/BOJ/BOJ_1992.java
deleted file mode 100644
index 91f8e23..0000000
--- a/JAVA_2021/src/BOJ/BOJ_1992.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_1992 {
-    private static StringBuilder sb = new StringBuilder();
-    private static char[][] graph;
-    private static int N;
-
-    private static void Recursive (int size, int x, int y) {
-        int val = graph[y][x];
-        boolean flag = false;
-        for (int i = y; i < y + size; i++){
-            for (int j = x; j < x + size; j++) {
-                if (val != graph[i][j]) flag = true;
-            }
-        }
-
-        if (!flag) {
-            sb.append(graph[y][x]);
-            return;
-        }
-
-        sb.append('(');
-        Recursive(size / 2, x, y);
-        Recursive(size / 2, x + size / 2, y);
-        Recursive(size / 2, x, y + size / 2);
-        Recursive(size / 2, x + size / 2, y + size / 2);
-        sb.append(')');
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        graph = new char[N][N];
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            graph[i] = st.nextToken().toCharArray();
-        }
-        Recursive(N, 0, 0);
-        System.out.println(sb);
-        br.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_20055.java b/JAVA_2021/src/BOJ/BOJ_20055.java
deleted file mode 100644
index c365df4..0000000
--- a/JAVA_2021/src/BOJ/BOJ_20055.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_20055 {
-    private static int N, K, broken;
-    private static int[] arr;
-    private static boolean[] robot;
-
-    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());
-        K = Integer.parseInt(st.nextToken());
-
-        arr = new int[N * 2];
-        robot = new boolean[N * 2]; // 벨트에 로봇이 있는지 없는지
-
-        st = new StringTokenizer(br.readLine());
-        broken = 0; // 벨트 고장 갯수
-
-        for (int i = 0 ; i< N * 2; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-            if (arr[i] == 0) broken++;
-        }
-
-        int ans = 0;
-        while (broken < K) {
-            ans++;
-
-            int tmp = arr[2 * N - 1]; // 컨베이어 벨트가 움직임
-            for (int i = 2 * N - 1; i >= 1; i--) {
-                robot[i] = robot[i - 1];
-                arr[i] = arr[i- 1];
-            }
-            arr[0] = tmp;
-            robot[0] = false;
-            if (robot[N - 1]) robot[N - 1] = false; // 컨베이어 벨트로 로봇이 N에 이동했을때
-
-            for (int i = N - 2; i >= 0; i--) {
-                if (robot[i] && arr[i + 1] > 0 && !robot[i + 1]) { // 현재위치에 로봇이 있고, 다음칸이 0이 아니고, 로봇이 없다면
-                    robot[i] = false;
-                    robot[i + 1] = true; // 로봇 이동
-                    arr[i + 1] -= 1; // 내구도 -1 해주기
-                    if (arr[i + 1] == 0) broken++; // 현재 이동하고 나서의 자리 내구도 확인
-                }
-            }
-            if (robot[N - 1]) robot[N - 1] = false; // 로봇 이동후 n에 도착했을 때 내려오므로 false
-
-            if (arr[0] > 0 && !robot[0]) { // 로봇을 올림
-                robot[0] = true;
-                arr[0] -= 1;
-                if (arr[0] == 0) broken++;
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_20299.java b/JAVA_2021/src/BOJ/BOJ_20299.java
deleted file mode 100644
index 60d1d44..0000000
--- a/JAVA_2021/src/BOJ/BOJ_20299.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_20299 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int N = Integer.parseInt(st.nextToken());
-        int S = Integer.parseInt(st.nextToken());
-        int M = Integer.parseInt(st.nextToken());
-
-        StringBuilder sb = new StringBuilder();
-
-        int totalCnt = 0;
-
-        for (int i = 0 ; i < N; i++) {
-            st = new StringTokenizer(br.readLine());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-            int c = Integer.parseInt(st.nextToken());
-
-            if (a >= M && b >= M && c >= M) {
-                if (a + b + c >= S) {
-                    totalCnt++;
-                    sb.append(a).append(" ").append(b).append(" ").append(c).append(" ");
-
-                }
-            }
-        }
-
-        bw.write(totalCnt + "\n");
-        bw.write(sb.toString());
-
-        br.close(); // 스캐너 닫음
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_20361.java b/JAVA_2021/src/BOJ/BOJ_20361.java
deleted file mode 100644
index bc621a2..0000000
--- a/JAVA_2021/src/BOJ/BOJ_20361.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.Scanner;
-import java.util.StringTokenizer;
-
-public class BOJ_20361 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int N = Integer.parseInt(st.nextToken());
-        int X = Integer.parseInt(st.nextToken()) - 1;
-        int K = Integer.parseInt(st.nextToken());
-
-        boolean[] arr = new boolean[N];
-        for (int i = 0; i < N; i++) {
-            arr[X] = true;
-        }
-
-        boolean tmp;
-        for (int i = 0; i < K; i++) {
-            st = new StringTokenizer(br.readLine());
-            int A = Integer.parseInt(st.nextToken()) - 1;
-            int B = Integer.parseInt(st.nextToken()) - 1;
-
-            tmp = arr[A];
-            arr[A] = arr[B];
-            arr[B] = tmp;
-        }
-
-        for (int i = 0; i < N; i++) {
-            if (arr[i]) bw.write((i + 1) + "\n");
-        }
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
-
diff --git a/JAVA_2021/src/BOJ/BOJ_20923.java b/JAVA_2021/src/BOJ/BOJ_20923.java
deleted file mode 100644
index 9317971..0000000
--- a/JAVA_2021/src/BOJ/BOJ_20923.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayDeque;
-import java.util.Arrays;
-import java.util.Deque;
-import java.util.StringTokenizer;
-
-
-public class BOJ_20923 {
-    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 m = Integer.parseInt(st.nextToken());
-
-        Deque<Integer> do_deck = new ArrayDeque<>();
-        Deque<Integer> su_deck = new ArrayDeque<>();
-
-        for (int tc = 0; tc < n; tc++) {
-            st = new StringTokenizer(br.readLine());
-            do_deck.add(Integer.parseInt(st.nextToken()));
-            su_deck.add(Integer.parseInt(st.nextToken()));
-        }
-
-
-        Deque<Integer> do_ground = new ArrayDeque<>();
-        Deque<Integer> su_ground = new ArrayDeque<>();
-
-        int l = 0;
-        int r = 0;
-
-        boolean turn = false;
-
-        while (m-- > 0) {
-            if (!turn) {
-                l = do_deck.pollLast();
-                do_ground.add(l);
-            } else {
-                r = su_deck.pollLast();
-                su_ground.add(r);
-            }
-            turn = !turn;
-
-            if (do_deck.isEmpty() || su_deck.isEmpty()) break;
-
-            if (l == 5 || r == 5) { // do가 종칠때
-                while (!su_ground.isEmpty()) {
-                    do_deck.addFirst(su_ground.pollFirst());
-                }
-                while (!do_ground.isEmpty()) {
-                    do_deck.addFirst(do_ground.pollFirst());
-                }
-                l = 0;
-                r = 0;
-            }
-
-            if ((!do_ground.isEmpty() && l + r == 5) || (!su_ground.isEmpty() && l + r == 5)) { // su가 종칠때
-                while (!do_ground.isEmpty()){
-                    su_deck.addFirst(do_ground.pollFirst());
-                }
-                while (!su_ground.isEmpty()) {
-                    su_deck.addFirst(su_ground.pollFirst());
-                }
-                l = 0;
-                r = 0;
-            }
-        }
-
-        if (do_deck.size() > su_deck.size()) {
-            System.out.println("do");
-        } else if (do_deck.size() < su_deck.size()) {
-            System.out.println("su");
-        } else {
-            System.out.println("dosu");
-        }
-
-        br.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2108.java b/JAVA_2021/src/BOJ/BOJ_2108.java
deleted file mode 100644
index 6a20a79..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2108.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.*;
-
-public class BOJ_2108 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        List<Integer> list = new ArrayList<>();
-
-        int [] arr = new int[n];
-        int [] check = new int[8001];
-        int max = 0;
-        int sum = 0;
-
-        for (int i = 0; i < n; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-            sum += arr[i];
-            check[arr[i] + 4000]++;
-        }
-
-        System.out.println((int) Math.round((double) sum / n)); //산술평균
-
-        Arrays.sort(arr);
-        System.out.println(arr[n / 2]); //중앙값
-
-        for (int i = 0; i < 8001; i++) {
-            if (check[i] >= max) {
-                max = check[i];
-            }
-        }
-        for (int i = 0; i < 8001; i++) {
-            if (check[i] == max) {
-                list.add(i - 4000);
-            }
-        }
-        if (list.size() == 1) {
-            System.out.println(list.get(0));
-        }
-        else {
-            Collections.sort(list);
-            System.out.println(list.get(1));
-        }
-        System.out.println(Math.abs(arr[arr.length - 1] - arr[0]));  //범위
-
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2163.java b/JAVA_2021/src/BOJ/BOJ_2163.java
deleted file mode 100644
index 3307426..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2163.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class BOJ_2163 {
-    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 M = Integer.parseInt(st.nextToken());
-        System.out.println(N * M - 1);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2164.java b/JAVA_2021/src/BOJ/BOJ_2164.java
deleted file mode 100644
index 68bc8bb..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2164.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-
-public class BOJ_2164 {
-    private static Queue<Integer> queue = new LinkedList<>();
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        for (int i = 1; i <= N; i++) {
-            queue.add(i);
-        }
-
-        for (int i = 0; i < N; i++) {
-            if (queue.size() == 1) {
-                System.out.println(queue.poll());
-                break;
-            }
-            queue.poll();
-            queue.add(queue.poll());
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2164_2.java b/JAVA_2021/src/BOJ/BOJ_2164_2.java
deleted file mode 100644
index a04a854..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2164_2.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.*;
-
-public class BOJ_2164_2 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        LinkedList<Integer> queue = new LinkedList<>();
-
-        for (int i = 0; i < N; ++i) {
-            queue.add(i + 1);
-        }
-
-        while (true) {
-            if (queue.size() == 1) {
-                System.out.println(queue.poll());
-                break;
-            }
-            queue.poll();
-            queue.add(queue.poll());
-        }
-
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2210.java b/JAVA_2021/src/BOJ/BOJ_2210.java
deleted file mode 100644
index 98f9811..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2210.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2210 {
-    private static int[][] graph;
-    private static int[] arr;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static int ans;
-
-    private static void dfs(int x, int y, String str) {
-        if (str.length() == 6 && arr[Integer.parseInt(str)] == 0) {
-            arr[Integer.parseInt(str)] = 1;
-            ans++;
-            return;
-        } else {
-            for (int i = 0; i < 4; i++) {
-                int nx = x + dx[i];
-                int ny = y + dy[i];
-
-                if (0 <= nx && nx < 5 && 0 <= ny && ny < 5) {
-                    if (str.length() != 6) {
-                        dfs(nx, ny, str + graph[nx][ny]);
-                    }
-                }
-            }
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        graph = new int[5][5];
-        arr = new int[1000000];
-        String str = "";
-
-        for (int i = 0; i < 5; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < 5; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-        for (int i = 0; i < 5; i++) {
-            for (int j = 0; j < 5; j++) {
-                for (int k = 0; k < 4; k++) {
-                    int nx = i + dx[k];
-                    int ny = j + dy[k];
-
-                    if (0 <= nx && nx < 5 && 0 <= ny && ny < 5) {
-                        if (str.length() != 6) {
-                            dfs(nx, ny, str + graph[nx][ny]);
-                        }
-                    }
-                }
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2217.java b/JAVA_2021/src/BOJ/BOJ_2217.java
deleted file mode 100644
index 3694695..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2217.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.Collections;
-
-public class BOJ_2217 {
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int N = Integer.parseInt(br.readLine());
-        Integer[] arr = new Integer[N];
-
-        for (int i = 0 ; i <  N; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-        }
-
-        Arrays.sort(arr, Collections.reverseOrder());
-
-        int max = -123456789;
-        for (int i = 0 ; i < N; i++) {
-            max = Math.max(max, arr[i] * (i + 1));
-        }
-
-        System.out.println(max);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2309.java b/JAVA_2021/src/BOJ/BOJ_2309.java
deleted file mode 100644
index 2d1f294..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2309.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_2309 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int[] arr = new int[9];
-
-        int sum = 0;
-        for (int i = 0; i < 9; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-            sum += arr[i];
-        }
-
-        Arrays.sort(arr);
-
-        for (int i = 0; i < 9; i++) {
-            for (int j = i + 1; j < 9; j++) {
-                if (sum - arr[i] - arr[j] == 100) {
-                    for (int k = 0; k < 9; k++) {
-                        if (i == k || j == k) {
-                            continue;
-                        }
-                        System.out.println(arr[k]);
-                    }
-                    System.exit(0);
-                }
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2309_2.java b/JAVA_2021/src/BOJ/BOJ_2309_2.java
deleted file mode 100644
index bbe1c76..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2309_2.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_2309_2 {
-    private static int[] arr, num, ans;
-
-    private static void Combination(int depth, int start, int sum) {
-        if (depth == 7 & sum == 100) {
-            ans = num.clone();
-            return;
-        } else if (depth == 7) return;
-
-        for (int i = start; i < 9; i++) {
-            num[depth] = arr[i];
-            Combination(depth + 1, i + 1,sum + arr[i]);
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        arr = new int[9];
-        num = new int[7];
-
-        for (int i = 0; i < 9; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-        }
-
-        Combination(0, 0, 0);
-        Arrays.sort(ans);
-        for (int i : ans) System.out.println(i);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2331.java b/JAVA_2021/src/BOJ/BOJ_2331.java
deleted file mode 100644
index 6753d9d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2331.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package BOJ;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-public class BOJ_2331 {
-    private static int A, P;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        A = Integer.parseInt(st.nextToken());
-        P = Integer.parseInt(st.nextToken());
-
-        List<Integer> list = new ArrayList<>();
-        list.add(A);
-
-        while (true) {
-            int tmp = list.get(list.size() - 1);
-            int result = 0;
-
-            while (tmp != 0) {
-                result += (int) Math.pow(tmp % 10, (double) P);
-                tmp /= 10;
-            }
-
-            if (list.contains(result)) {
-                int ans = list.indexOf(result);
-                bw.write(ans + "\n");
-                break;
-            }
-            list.add(result);
-        }
-        bw.flush();
-        bw.close();
-        br.close();
-    }
-
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2407.java b/JAVA_2021/src/BOJ/BOJ_2407.java
deleted file mode 100644
index 1fde0b5..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2407.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.math.BigInteger;
-import java.util.StringTokenizer;
-
-public class BOJ_2407 {
-    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 m = Integer.parseInt(st.nextToken());
-        BigInteger a = BigInteger.ONE;
-        BigInteger b = BigInteger.ONE;
-
-        for (int i = 0 ; i < m; i++) {
-            a = a.multiply(new BigInteger(String.valueOf(n - i)));
-            b = b.multiply(new BigInteger(String.valueOf(i + 1)));
-        }
-        BigInteger ans = a.divide(b);
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2440.java b/JAVA_2021/src/BOJ/BOJ_2440.java
deleted file mode 100644
index afe6078..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2440.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_2440 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        for (int i = 0; i < N; i++) {
-            for (int j = 0; j < i; j++) {
-                System.out.print(" ");
-            }
-            for (int k = N; k > i; k--) {
-                System.out.print("*");
-            }
-            System.out.println();
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2447.java b/JAVA_2021/src/BOJ/BOJ_2447.java
deleted file mode 100644
index 33d68df..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2447.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2447 {
-    static char[][] arr;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int N = Integer.parseInt(br.readLine());
-
-        arr = new char[N][N];
-
-        star(0, 0, N, false);
-
-        for (int i = 0; i < N; i++) {
-            bw.write(arr[i]);
-            bw.write("\n");
-        }
-        bw.flush();
-        bw.close();
-    }
-
-    static void star(int x, int y, int N, boolean blank) {
-        if (blank) {
-            for (int i = x; i < x + N; i++) {
-                for (int j = y; j < y + N; j++) {
-                    arr[i][j] = ' ';
-                }
-            }
-            return;
-        }
-
-        if (N == 1) {
-            arr[x][y] = '*';
-            return;
-        }
-
-        int size = N / 3;
-        int count = 0;
-        for (int i = x; i < x + N; i += size) {
-            for (int j = y; j < y + N; j += size) {
-                count++;
-                if (count == 5) { // 공백 칸일 경우
-                    star(i, j, size, true);
-                } else {
-                    star(i, j, size, false);
-                }
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2475.java b/JAVA_2021/src/BOJ/BOJ_2475.java
deleted file mode 100644
index 7aab36d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2475.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2475 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int[] arr = new int[5];
-        for (int i =0 ; i < 5; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        int ans = 0;
-        for (int i : arr) {
-            ans += Math.pow(i, 2);
-        }
-
-        ans = ans % 10;
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2477.java b/JAVA_2021/src/BOJ/BOJ_2477.java
deleted file mode 100644
index 3204017..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2477.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_2477 {
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int N = Integer.parseInt(br.readLine());
-        int[] arr = new int[6];
-        for (int i = 0 ; i < 6; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int d = Integer.parseInt(st.nextToken());
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        int w = 0;
-        int h = 0;
-
-        for (int i = 0; i < 6; i++) {
-            if (i % 2 == 0) {
-                if (w < arr[i]) {
-                    w = arr[i];
-                }
-            } else {
-                if (h < arr[i]) {
-                    h = arr[i];
-                }
-            }
-        }
-
-        int w2 = 0;
-        int h2 = 0;
-
-        for (int i = 0; i < 6; i++) {
-            if (i % 2 == 0) {
-                if (h == arr[(i + 5) % 6] + arr[(i + 1) % 6]) {
-                    w2 = arr[i];
-                }
-            } else {
-                if (w == arr[(i + 5) % 6] + arr[(i + 1) % 6]) {
-                    h2 = arr[i];
-                }
-            }
-        }
-
-        System.out.println(((w * h) - (w2 * h2)) * N);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2493.java b/JAVA_2021/src/BOJ/BOJ_2493.java
deleted file mode 100644
index 6527f89..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2493.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Stack;
-import java.util.StringTokenizer;
-
-public class BOJ_2493 {
-    private static int num;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        Stack<int []> stack = new Stack<>();
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        for (int i = 1; i< N + 1; i++) {
-            num = Integer.parseInt(st.nextToken());
-            while (!stack.isEmpty()) {
-                if (stack.peek()[1] > num) {
-                    System.out.print(stack.peek()[0] + " ");
-                    break;
-                }
-                stack.pop();
-            }
-
-            if (stack.isEmpty()) {
-                System.out.print("0 ");
-            }
-
-            stack.push(new int[]{i, num});
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2527.java b/JAVA_2021/src/BOJ/BOJ_2527.java
deleted file mode 100644
index d2d4970..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2527.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_2527 {
-    static StringTokenizer st;
-    static StringBuilder sb = new StringBuilder();
-    static int x1, y1, x2, y2, tx1, ty1, tx2, ty2;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        for(int i = 0; i < 4; i++) {
-            st = new StringTokenizer(br.readLine());
-
-            x1 = Integer.parseInt(st.nextToken());
-            y1 = Integer.parseInt(st.nextToken());
-            x2 = Integer.parseInt(st.nextToken());
-            y2 = Integer.parseInt(st.nextToken());
-
-            tx1 = Integer.parseInt(st.nextToken());
-            ty1 = Integer.parseInt(st.nextToken());
-            tx2 = Integer.parseInt(st.nextToken());
-            ty2 = Integer.parseInt(st.nextToken());
-
-            sb.append(check(x1, y1, x2, y2, tx1, ty1, tx2, ty2) + "\n");
-        }
-
-        System.out.print(sb);
-        br.close();
-    }
-
-
-    private static String check(int x1, int y1, int x2, int y2, int tx1, int ty1, int tx2, int ty2) {
-        if ((x2 == tx1 && y2 == ty1) || (x1 == tx2 && y2 == ty1) || (x2 == tx1 && y1 == ty2) || (x1 == tx2 && y1 == ty2)) {
-            return "c";
-        } else if ((x2 == tx1 && y2 != ty1) || (x1 == tx2 && y2 != ty1) || (x2 != tx1 && y1 == ty2) || (x1 != tx2 && y1 == ty2)) {
-            return "b";
-        } else if (x2 < tx1 || tx2 < x1 || y2 < ty1 || ty2 < y1) {
-            return "d";
-        } else {
-            return "a";
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2557.java b/JAVA_2021/src/BOJ/BOJ_2557.java
deleted file mode 100644
index 723be8c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2557.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package BOJ;
-
-public class BOJ_2557 {
-    public static void main(String [] args){
-        System.out.println("Hello World!");
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2558.java b/JAVA_2021/src/BOJ/BOJ_2558.java
deleted file mode 100644
index a6ddd20..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2558.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_2558 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int A = Integer.parseInt(br.readLine());
-        int B = Integer.parseInt(br.readLine());
-        System.out.println(A + B);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2559.java b/JAVA_2021/src/BOJ/BOJ_2559.java
deleted file mode 100644
index d2c5edf..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2559.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_2559 {
-    private static int[] arr, tmp;
-    private static int N;
-
-    private static void func(int depth, int k, int start, int idx) {
-        if (k == N + 1) return;
-        int ans = 0;
-        for (int i = start; i <= k; i++) {
-            ans += arr[i];
-            tmp[idx] = ans;
-        }
-        func(depth + 1, k + 1, start + 1, idx + 1);
-
-    }
-
-    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());
-        int K = Integer.parseInt(st.nextToken());
-
-        arr = new int[N + 1];
-        st = new StringTokenizer(br.readLine());
-        for (int i = 1; i <= N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-        tmp = new int[N - K + 1];
-        func(0, K, 1, 0);
-
-        Arrays.sort(tmp);
-        System.out.println(tmp[tmp.length - 1]);
-
-
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2562.java b/JAVA_2021/src/BOJ/BOJ_2562.java
deleted file mode 100644
index e1345e8..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2562.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_2562 {
-    public static void main(String[] args) {
-
-        Scanner sc = new Scanner(System.in);
-        int n = sc.nextInt();
-        int i, place;
-
-        i = 1;
-        place = 1;
-
-        while (i < 9) {
-            int new_n = sc.nextInt();
-            i ++;
-            if (new_n > n) {
-                n = new_n;
-                place = i;
-            }
-        }
-        System.out.println(n);
-        System.out.println(place);
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2563.java b/JAVA_2021/src/BOJ/BOJ_2563.java
deleted file mode 100644
index a0f099c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2563.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2563 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int[][] graph = new int[100][100];
-        int ans = 0;
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int x = Integer.parseInt(st.nextToken());
-            int y = Integer.parseInt(st.nextToken());
-
-            for (int j = x; j < x + 10; j++) {
-                for (int k = y; k < y + 10; k++) {
-                    if (graph[j][k] == 1) continue;
-                    graph[j][k] = 1;
-                    ans++;
-                }
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
-
diff --git a/JAVA_2021/src/BOJ/BOJ_2564.java b/JAVA_2021/src/BOJ/BOJ_2564.java
deleted file mode 100644
index 9e10dc2..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2564.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class BOJ_2564 {
-    static class Pair {
-        int dir, x, y;
-
-        public Pair(int dir, int c, int r, int dis) {
-            this.dir = dir;
-
-            if (dir == 1) { // 북
-                this.x = dis;
-                this.y = 0;
-            } else if (dir == 2) { // 남
-                this.x = dis;
-                this.y = c;
-            } else if (dir == 3) { // 서
-                this.x = 0;
-                this.y = dis;
-            } else { // 동
-                this.x = r;
-                this.y = dis;
-            }
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        int r = Integer.parseInt(st.nextToken());
-        int c = Integer.parseInt(st.nextToken());
-        int n = Integer.parseInt(br.readLine());
-
-        ArrayList<Pair> arr = new ArrayList<>();
-
-        for (int i = 0; i < n; i++) {
-            st = new StringTokenizer(br.readLine());
-            int dir = Integer.parseInt(st.nextToken());
-            int dis = Integer.parseInt(st.nextToken());
-            Pair p = new Pair(dir, c, r, dis);
-            arr.add(p);
-        }
-
-        st = new StringTokenizer(br.readLine());
-        int d = Integer.parseInt(st.nextToken());
-        int v = Integer.parseInt(st.nextToken());
-        Pair dong = new Pair(d, c, r, v);
-        int tmp = 0;
-        int ans = 0;
-
-        if (d == 1) {
-            tmp = 2;
-        } else if (d == 2) {
-            tmp = 1;
-        } else if (d == 3) {
-            tmp = 4;
-        } else {
-            tmp = 3;
-        }
-
-        for(Pair p : arr) {
-            if (p.dir == tmp) {
-                if (p.dir == 1 || p.dir == 2) {
-                    ans += Math.min(dong.y + p.y + dong.x + p.x, dong.y + p.y + r - dong.x + r - p.x);
-                } else {
-                    ans += Math.min(c - dong.y + c - p.y + dong.x + p.x, dong.y + p.y + dong.x + p.x);
-                }
-            } else {
-                ans += Math.abs(dong.y - p.y) + Math.abs(dong.x - p.x);
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2567.java b/JAVA_2021/src/BOJ/BOJ_2567.java
deleted file mode 100644
index 739865e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2567.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2567 {
-    private static int[][] graph;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        graph = new int[101][101];
-
-        int N = Integer.parseInt(br.readLine());
-
-        for (int t = 0; t < N; t++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int x = Integer.parseInt(st.nextToken());
-            int y = Integer.parseInt(st.nextToken());
-
-            for (int i = x; i < x + 10; i++) {
-                for (int j = y; j < y + 10; j++) {
-                    graph[i][j] = 1;
-                }
-            }
-        }
-        int ans = 0;
-        for (int i = 0; i < graph.length; i++) {
-            for (int j = 0; j < graph[i].length; j++) {
-                if (graph[i][j] == 1) {
-                    for (int d = 0; d < 4; d++) {
-                        int nx = i + dx[d];
-                        int ny = j + dy[d];
-
-                        if (graph[nx][ny] == 0 || nx < 0 || nx > 100 || ny < 0 || ny > 100) {
-                            ans++;
-                        }
-                    }
-                }
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2577.java b/JAVA_2021/src/BOJ/BOJ_2577.java
deleted file mode 100644
index cb4949a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2577.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_2577 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int A = sc.nextInt();
-        int B = sc.nextInt();
-        int C = sc.nextInt();
-        int result = A * B * C;
-        int[] ans = new int[10];
-
-        while (result > 0) {
-            ans[result % 10]++;
-            result /= 10;
-        }
-
-        for (int i : ans) {
-            System.out.println(i);
-        }
-
-        sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2578.java b/JAVA_2021/src/BOJ/BOJ_2578.java
deleted file mode 100644
index 53076d3..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2578.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_2578 {
-    private static int[][] graph;
-
-    private static int check(int r, int c) {
-        int cnt = 0;
-
-        for (int i = 0; i < 5; i++) {
-            int rowCnt = 0;
-            for (int j = 0; j < 5; j++) {
-                if (graph[i][j] == -1) rowCnt++;
-            }
-            if (rowCnt == 5) cnt++;
-        }
-
-        for (int i = 0; i < 5; i++) {
-            int colCnt = 0;
-            for (int j = 0; j < 5; j++) {
-                if (graph[j][i] == -1) colCnt++;
-            }
-            if (colCnt == 5) cnt++;
-        }
-
-        int crossCnt = 0;
-        for (int i = 4; i >= 0; i--) {
-            if (graph[4 - i][i] == -1) crossCnt++;
-            if (crossCnt == 5) cnt++;
-        }
-
-        crossCnt = 0;
-        for (int i = 0; i < 5; i++) {
-            if (graph[i][i] == -1) crossCnt++;
-            if (crossCnt == 5) cnt++;
-        }
-
-        return cnt;
-    }
-
-
-
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        graph = new int[5][5];
-
-        for (int i = 0; i < 5; i++) {
-            for (int j = 0; j < 5; j++) {
-                graph[i][j] = sc.nextInt();
-            }
-        }
-
-        int cnt = 0;
-
-
-        for (int i = 0; i < 25; i++) {
-            int cmd = sc.nextInt();
-            cnt++;
-
-            for (int x = 0; x < 5; x++) {
-                for (int y = 0; y < 5; y++) {
-                    if (graph[x][y] == cmd) {
-                        graph[x][y] = -1;
-
-                        if (check(x, y) >= 3) {
-                            System.out.println(cnt);
-                            return;
-                        }
-                    }
-                }
-            }
-        }
-        sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2578_2.java b/JAVA_2021/src/BOJ/BOJ_2578_2.java
deleted file mode 100644
index 734cc6f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2578_2.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_2578_2 {
-    private static int[][] arr;
-    private static ArrayList<Integer> cmd;
-    private static StringTokenizer st;
-
-    private static int bingoCheck(int x, int y) {
-        int cnt = 0;
-
-        for (int i = 0; i < 5; i++) {
-            int rowCnt = 0;
-            for (int j = 0; j < 5; j++) {
-                if (arr[i][j] == -1) rowCnt++;
-            }
-            if (rowCnt == 5) cnt++;
-        }
-
-        for (int i = 0; i < 5; i++) {
-            int colCnt = 0;
-            for (int j = 0; j < 5; j++) {
-                if (arr[j][i] == -1) colCnt++;
-            }
-            if (colCnt == 5) cnt++;
-        }
-
-        int crossCnt = 0;
-        for (int i = 4; i >= 0; i--) {
-            if (arr[4 - i][i] == -1) crossCnt++;
-            if (crossCnt == 5) cnt++;
-        }
-
-        int crossCnt2 = 0;
-        for (int i = 0; i < 5; i++) {
-            if (arr[i][i] == -1) crossCnt2++;
-            if (crossCnt2 == 5) cnt++;
-        }
-
-        return cnt;
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        arr = new int[5][5];
-
-        for (int i = 0; i < 5; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < 5; j++) {
-                arr[i][j] = Integer.parseInt(st.nextToken());
-            }
-        }
-
-        cmd = new ArrayList<>();
-        for (int i = 0; i < 5; i++) {
-            st = new StringTokenizer(br.readLine());
-            for (int j = 0; j < 5; j++) {
-                cmd.add(Integer.parseInt(st.nextToken()));
-            }
-        }
-
-        int cnt = 0;
-        for (int i = 0; i < 25; i++) {
-            int tmp = cmd.get(i);
-            cnt++;
-
-            for (int x = 0; x < 5; x++) {
-                for (int y = 0; y < 5; y++) {
-                    if (arr[x][y] == tmp) {
-                        arr[x][y] = -1;
-
-                        if (bingoCheck(x, y) >= 3) {
-                            System.out.println(cnt);
-                            return;
-                        }
-                    }
-                }
-            }
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2605.java b/JAVA_2021/src/BOJ/BOJ_2605.java
deleted file mode 100644
index a5f3164..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2605.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.StringTokenizer;
-
-public class BOJ_2605 {
-    private static int n;
-    private static int[] cmd;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        n = Integer.parseInt(br.readLine());
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        cmd = new int[n];
-
-        for (int i = 0; i < n; i++) {
-            cmd[i] = Integer.parseInt(st.nextToken());
-        }
-
-        LinkedList<Integer> list=new LinkedList<>();
-
-        for(int i = 0; i < n; i++)
-            list.add(list.size() - cmd[i], i + 1);
-
-        for(int i = 0; i < n; i++)
-            System.out.print(list.get(i) + " ");
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2606.java b/JAVA_2021/src/BOJ/BOJ_2606.java
deleted file mode 100644
index d20a113..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2606.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-
-public class BOJ_2606 {
-    static int N, M;
-    static int[][] graph;
-    static boolean[] visited;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        M = Integer.parseInt(br.readLine());
-
-        graph = new int[N + 1][N + 1];
-        visited = new boolean[N + 1];
-
-        for (int i = 1; i <= M; i++) {
-            String[] tmp = br.readLine().split(" ");
-            int a = Integer.parseInt(tmp[0]);
-            int b = Integer.parseInt(tmp[1]);
-
-            graph[a][b] = graph[b][a] = 1;
-        }
-        System.out.println(BFS(1));
-    }
-
-    static int BFS(int start) {
-        int cnt = 0;
-        Queue<Integer> q = new LinkedList<Integer>();
-        q.offer(start);
-        visited[start] = true;
-
-        while (!q.isEmpty()) {
-            int x = q.poll();
-            for (int i = 1; i <= N; i++) {
-                if (graph[x][i] == 1 && !visited[i]) {
-                    q.offer(i);
-                    visited[i] = true;
-                    cnt++;
-                }
-            }
-        }
-        return cnt;
-    }
-}
-
-
-/*
-node = int(input())
-edge = int(input())
-
-graph = [[] for _ in range(node + 1)]
-cnt = 0
-
-for _ in range(edge):
-    a, b = map(int, input().split())
-    graph[a].append(b)
-    graph[b].append(a)
-
-
-def dfs(start_node):
-    global cnt
-    cnt +=1
-    visited[start_node] = True
-
-    for i in graph[start_node]:
-        if not visited[i]:
-            dfs(i)
-    return cnt -1
-
-
-visited = [False] * (node + 1)
-print(dfs(1))
- */
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2636.java b/JAVA_2021/src/BOJ/BOJ_2636.java
deleted file mode 100644
index 0d71b2b..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2636.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_2636 {
-    private static int N, M;
-    private static int[][] graph;
-    private static boolean[][] visited;
-    private static Queue<Node> queue;
-
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static int bfs(int leftCheese) {
-        while (!queue.isEmpty()){
-            Node node = queue.poll();
-            int x = node.x;
-            int y = node.y;
-
-            for (int d = 0; d < 4; d++) {
-                int nx = x + dx[d];
-                int ny = y + dy[d];
-
-                if (0 <= nx && nx < N && 0 <= ny && ny < M && !visited[nx][ny]) {
-                    visited[nx][ny] = true;
-                    if (graph[nx][ny] == 1) {
-                        graph[nx][ny] = 2;
-                        leftCheese--;
-                    } else{
-                        queue.offer(new Node(nx, ny));
-                    }
-                }
-            }
-        }
-        return leftCheese;
-    }
-
-    private static void remove() {
-        for (int i = 0 ; i < N; i++) {
-            for (int j = 0 ; j< M; j++) {
-                if (graph[i][j] == 2) {
-                    graph[i][j] = 0;
-                }
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        N = Integer.parseInt(line[0]);
-        M = Integer.parseInt(line[1]);
-
-        graph = new int[N][M];
-        int leftCheese = 0;
-        for (int i = 0 ; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int j = 0 ; j < M; j++) {
-                graph[i][j] = Integer.parseInt(st.nextToken());
-                if (graph[i][j] == 1) leftCheese++;
-            }
-        }
-
-        queue = new LinkedList<>();
-        int cnt = 0;
-        int tmp = leftCheese;
-
-        while (leftCheese != 0) {
-            visited = new boolean[N][M];
-            queue.offer(new Node(0, 0));
-            visited[0][0] = true;
-
-            leftCheese = bfs(leftCheese);
-            if (leftCheese != 0) tmp = leftCheese;
-            cnt++;
-            remove();
-        }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append(cnt).append("\n").append(tmp);
-        System.out.println(sb);
-        br.close();
-    }
-    private static class Node{
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2670.java b/JAVA_2021/src/BOJ/BOJ_2670.java
deleted file mode 100644
index 4d6690a..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2670.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_2670 {
-    private static int N;
-    private static double[] arr;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        arr = new double[N];
-
-        for (int i = 0 ; i < N; i++) {
-            arr[i] = Double.parseDouble(br.readLine());
-        }
-
-        double max = arr[0];
-
-        for (int i = 1; i < N; i++) {
-            arr[i] = Math.max(arr[i], arr[i - 1] * arr[i]);
-            max = Math.max(max, arr[i]);
-        }
-
-        System.out.printf("%.3f", max);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2675.java b/JAVA_2021/src/BOJ/BOJ_2675.java
deleted file mode 100644
index f2d1878..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2675.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2675 {
-    public static void main(String[] args) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st;
-        int t = Integer.parseInt(br.readLine());
-
-        for (int i = 0; i < t; i++) {
-            st= new StringTokenizer(br.readLine());
-            int R = Integer.parseInt(st.nextToken());
-            String S = st.nextToken();
-
-            for (int j = 0; j < S.length(); j++) {
-                for (int a = 0; a < R; a++) {
-                    System.out.print(S.charAt(j));
-                }
-            }
-
-            System.out.println();
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2739.java b/JAVA_2021/src/BOJ/BOJ_2739.java
deleted file mode 100644
index 6efe00c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2739.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_2739 {
-    public static void main(String[] args){
-
-        Scanner sc = new Scanner(System.in);
-        int n = sc.nextInt();
-
-        for (int i = 1; i< 10; i++){
-            System.out.println(String.format("%d * %d = %d", n, i, n * i));
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2741.java b/JAVA_2021/src/BOJ/BOJ_2741.java
deleted file mode 100644
index 36b550d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2741.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2741 {
-    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());
-
-        for (int i = 1; i < n + 1; i++) {
-            System.out.println(i);
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_2747.java b/JAVA_2021/src/BOJ/BOJ_2747.java
deleted file mode 100644
index 1f00925..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2747.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2747 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-
-        int[] arr = new int[N + 1];
-        arr[0] = 0;
-        arr[1] = 1;
-
-        for (int i = 2; i < N + 1; i++){
-            arr[i] = arr[i - 1] + arr[i - 2];
-        }
-
-        System.out.println(arr[N]);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2750.java b/JAVA_2021/src/BOJ/BOJ_2750.java
deleted file mode 100644
index 52e1528..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2750.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2750 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int[] arr = new int[N];
-
-        for (int i = 0; i < N; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-        }
-        int tmp;
-        for (int i = 0; i < N; i++) {
-            for (int j = i + 1; j < N; j++) {
-                if (arr[i] > arr[j]) {
-                    tmp = arr[i];
-                    arr[i] = arr[j];
-                    arr[j] = tmp;
-                }
-            }
-        }
-        for (int i = 0; i < arr.length; i++) {
-            System.out.println(arr[i]);
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2751.java b/JAVA_2021/src/BOJ/BOJ_2751.java
deleted file mode 100644
index 17e11bd..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2751.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2751 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-
-        int N = Integer.parseInt(br.readLine());
-        boolean[] arr = new boolean[2000001];
-
-        for (int i = 0; i < N; i++) {
-            arr[Integer.parseInt(br.readLine()) + 1000000] = true;
-        }
-
-        for (int i = 0; i < arr.length; i++) {
-            if (arr[i]) {
-                sb.append((i - 1000000)).append('\n');
-            }
-        }
-
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2753.java b/JAVA_2021/src/BOJ/BOJ_2753.java
deleted file mode 100644
index 786c665..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2753.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2753 {
-    public static void main(String [] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-
-        if (n % 4 == 0 && n % 100 != 0 || n % 400 == 0) {
-            System.out.println("1");
-        } else {
-            System.out.println("0");
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2798.java b/JAVA_2021/src/BOJ/BOJ_2798.java
deleted file mode 100644
index b348b28..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2798.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2798 {
-    static int ans = 0;
-    static int tmp = 0;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] inputStr = br.readLine().split(" ");
-        String[] arr = br.readLine().split(" ");
-
-        int n = Integer.parseInt(inputStr[0]);
-        int m = Integer.parseInt(inputStr[1]);
-
-        for (int i = 0; i < n - 2; i++) {
-            for (int j = (i + 1); j < n - 1; j++) {
-                for (int k = (i + 2); k < n; k++) {
-                    if (!(i == j) && !(j == k) && !(i == k)) {
-                        tmp = Integer.parseInt(arr[i]) +
-                                Integer.parseInt(arr[j]) +
-                                Integer.parseInt(arr[k]);
-                        if (m >= tmp && ans < tmp) {
-                            ans = tmp;
-                        }
-                    }
-                }
-            }
-        }
-        br.close();
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2798_2.java b/JAVA_2021/src/BOJ/BOJ_2798_2.java
deleted file mode 100644
index cf32120..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2798_2.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_2798_2 {
-    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 M = Integer.parseInt(st.nextToken());
-
-        int[] arr = new int[N];
-        st = new StringTokenizer(br.readLine());
-        for (int i =0; i < N; i++) {
-            arr[i] = Integer.parseInt(st.nextToken());
-        }
-
-        int ans = 0;
-        int tmp;
-        for (int i = 0 ; i < N - 2; i++) {
-            for (int j = i + 1; j < N - 1; j++) {
-                for (int k = i + 2; k < N; k++) {
-                    if (!(i == j) && !(j == k) && !(i == k)) {
-                        tmp = arr[i] + arr[j] + arr[k];
-                        if (tmp <= M && ans < tmp) {
-                            ans = tmp;
-                        }
-                    }
-
-                }
-            }
-        }
-        System.out.println(ans);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2810.java b/JAVA_2021/src/BOJ/BOJ_2810.java
deleted file mode 100644
index 4a0a921..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2810.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-public class BOJ_2810 {
-    static boolean[] cupHolders;
-    public static void main(String args[]) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.valueOf(br.readLine());
-        String line = br.readLine();
-// True : 컵홀더 사용중 또는 컵홀더 사용 불가능.  False : 컵홀더 미사용
-        cupHolders = new boolean[n + 1];
-        int count = 0;
-        boolean checked = false;	// 커플석 한 쌍 중 커플석 시작한 경우 True
-// 컵홀더 개수 세기
-
-        for(int i = 0; i < n; i++) {
-            char ch = line.charAt(i);
-// 커플석 판단
-            if(ch == 'L') {
-                if(!checked) {
-                    checked = true;
-// 커플석 오른쪽 컵홀더 제거
-                    cupHolders[i + 1] = true;
-                }
-                else {
-                    checked = false;
-                }
-            }
-// 컵홀더에 컵두기
-            if(!cupHolders[i]) { // 왼쪽
-                cupHolders[i] = true;
-                count++;
-            }
-            else if(!cupHolders[i + 1]) { // 오른쪽
-                cupHolders[i + 1] = true;
-                count++;
-            }
-            else {	// 양쪽 다 컵이 놓여져있으면
-            }
-        }
-        System.out.println(count);
-    }
-}
-
diff --git a/JAVA_2021/src/BOJ/BOJ_2839.java b/JAVA_2021/src/BOJ/BOJ_2839.java
deleted file mode 100644
index b82077f..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2839.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_2839 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        int ans = 0;
-        int x = 0;
-
-        for (int i = n / 5; i >= 0; i--) {
-            if ((n - 5 * i) % 3 == 0) {
-                x = (n - 5 * i) / 3;
-                ans = i + x;
-                break;
-            } else {
-                ans = -1;
-            }
-        }
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2839_2.java b/JAVA_2021/src/BOJ/BOJ_2839_2.java
deleted file mode 100644
index a9bcd86..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2839_2.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_2839_2 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-
-        int cnt = 0;
-
-        while (true) {
-            if (n % 5 == 0) {
-                cnt += (n / 5);
-                System.out.println(cnt);
-                break;
-            }
-
-            n -= 3;
-            cnt++;
-
-            if (n < 0) {
-                System.out.println(-1);
-                break;
-            }
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2851.java b/JAVA_2021/src/BOJ/BOJ_2851.java
deleted file mode 100644
index c9a1494..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2851.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_2851 {
-    private static int[] arr;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        arr = new int[10];
-
-        int sum = 0;
-        for (int i = 0  ;i < 10; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-        }
-
-        for (int i = 0; i < 10; i++) {
-            sum += arr[i];
-
-            if (sum >= 100) break;
-        }
-
-        System.out.println(sum);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2858.java b/JAVA_2021/src/BOJ/BOJ_2858.java
deleted file mode 100644
index 1553154..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2858.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2858 {
-    private static int R, B;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        R = Integer.parseInt(st.nextToken());
-        B = Integer.parseInt(st.nextToken());
-
-        for (int i = 3; i < 2000; i++) {
-            for (int j = 3; j < i + 1; j++) {
-                int tmp = (i * 2) + ((j - 2) * 2);
-                if ((tmp == R) && ((i * j) - tmp) == B) {
-                    System.out.println(i + " " + j);
-                }
-            }
-        }
-        br.close();
-    }
-
-
-    /*
-    10 2 >> 4 3
-    12 3 >> 5 3
-    14 4 >> 6 3
-    16 9 >> 5 5
-     */
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2870.java b/JAVA_2021/src/BOJ/BOJ_2870.java
deleted file mode 100644
index 4b7feb8..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2870.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Arrays;
-
-public class BOJ_2870 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int N = Integer.parseInt(br.readLine());
-        ArrayList<BigInteger> arr = new ArrayList<>();
-        String[] line;
-
-        for (int i = 0; i < N; i++) {
-            line = br.readLine().split("\\D");
-            for (int j = 0; j < line.length; j++) {
-                if (!line[j].equals("")) arr.add(new BigInteger(line[j]));
-            }
-        }
-
-        arr.sort(null);
-        for (int i = 0; i < arr.size(); i++) {
-            System.out.println(arr.get(i));
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2908.java b/JAVA_2021/src/BOJ/BOJ_2908.java
deleted file mode 100644
index c69e740..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2908.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2908 {
-    public static void main(String[] args) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st;
-        st = new StringTokenizer(br.readLine());
-
-        while (st.hasMoreElements()) {
-            int A = Integer.parseInt(st.nextToken());
-            int B = Integer.parseInt(st.nextToken());
-
-            int AA = ((A % 10) * 100) + (((A / 10) % 10) * 10) + (A / 100);
-            int BB = ((B % 10) * 100) + (((B / 10) % 10) * 10) + (B / 100);
-
-            if (AA > BB) {
-                System.out.println(AA);
-            } else {
-                System.out.println(BB);
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2920.java b/JAVA_2021/src/BOJ/BOJ_2920.java
deleted file mode 100644
index 649edbc..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2920.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_2920 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        String asc = "1 2 3 4 5 6 7 8";
-        String desc = "8 7 6 5 4 3 2 1";
-
-        String in = sc.nextLine();
-
-        if (in.equals(asc)) {
-            System.out.println("ascending");
-        } else if (in.equals(desc)) {
-            System.out.println("descending");
-        } else {
-            System.out.println("mixed");
-        }
-    sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2941.java b/JAVA_2021/src/BOJ/BOJ_2941.java
deleted file mode 100644
index 1f697a9..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2941.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_2941 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String text = br.readLine();
-
-        int n = 0;
-
-        for(int i=0; i<text.length();i++) {
-            if(i<text.length()-1&&text.charAt(i)=='c'&&text.charAt(i+1)=='=') {
-                i++;
-            }
-            else if(i<text.length()-1&&text.charAt(i)=='c'&&text.charAt(i+1)=='-') {
-                i++;
-            }
-            else if(i<text.length()-2&&text.charAt(i)=='d'&&text.charAt(i+1)=='z'&&text.charAt(i+2)=='=') {
-                i+=2;
-            }
-            else if(i<text.length()-1&&text.charAt(i)=='d'&&text.charAt(i+1)=='-') {
-                i++;
-            }
-            else if(i<text.length()-1&&text.charAt(i)=='l'&&text.charAt(i+1)=='j') {
-                i++;
-            }
-            else if(i<text.length()-1&&text.charAt(i)=='n'&&text.charAt(i+1)=='j') {
-                i++;
-            }
-            else if(i<text.length()-1&&text.charAt(i)=='s'&&text.charAt(i+1)=='=') {
-                i++;
-            }
-            else if(i<text.length()-1&&text.charAt(i)=='z'&&text.charAt(i+1)=='=') {
-                i++;
-            }
-            n++;
-        }
-        System.out.println(n);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2961.java b/JAVA_2021/src/BOJ/BOJ_2961.java
deleted file mode 100644
index 741b1bb..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2961.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_2961 {
-    private static int N, ans;
-    private static int[] S, B;
-    private static boolean[] flag;
-
-    private static void Permutation(int depth, int sour, int bitter) {
-        if (depth == N) {
-            if (ans > Math.abs(sour - bitter) && bitter != 0) {
-                ans = Math.abs(sour - bitter);
-            }
-            return;
-        }
-        flag[depth] = true;
-        Permutation(depth + 1, sour * S[depth], bitter + B[depth]);
-        flag[depth] = false;
-        Permutation(depth + 1, sour, bitter);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-
-        S = new int[N];
-        B = new int[N];
-        flag = new boolean[N];
-
-        ans = 123456789;
-
-        for (int i = 0 ; i < N; i ++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            S[i] = Integer.parseInt(st.nextToken());
-            B[i] = Integer.parseInt(st.nextToken());
-        }
-        Permutation(0, 1, 0);
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_2999.java b/JAVA_2021/src/BOJ/BOJ_2999.java
deleted file mode 100644
index 8196e22..0000000
--- a/JAVA_2021/src/BOJ/BOJ_2999.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_2999 {
-    private static int R, C;
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        char[] arr = br.readLine().toCharArray();
-        int len = arr.length;
-
-        for (int i = 1; i < len; i++) {
-            if (len % i == 0 && i <= len / i) {
-                R = Math.max(R, i);
-                C = len / R;
-            }
-        }
-        if (R == 0 && C == 0) {
-            R = 1;
-            C = 1;
-        }
-
-        int idx = 0;
-
-        char[][] graph = new char[R][C];
-
-        for (int i = 0; i < C; i++) {
-            for (int j = 0; j < R; j++) {
-                graph[j][i] = arr[idx++];
-            }
-        }
-
-        for(int i = 0; i < R; i++) {
-            for (int j = 0; j < C; j++) {
-                System.out.print(graph[i][j]);
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_3040.java b/JAVA_2021/src/BOJ/BOJ_3040.java
deleted file mode 100644
index e3ae80d..0000000
--- a/JAVA_2021/src/BOJ/BOJ_3040.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-
-public class BOJ_3040 {
-
-    private static int[] tmp, arr, ans;
-    private static void Combination(int depth, int start, int sum) {
-        if (depth == 7 && sum == 100) {
-            ans = tmp.clone();
-            return;
-        } else if (depth == 7) return;
-
-        for (int i = start; i < 9; i++) {
-            tmp[depth] = arr[i];
-            Combination(depth + 1, i + 1, sum + arr[i]);
-        }
-
-    }
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        arr = new int[9];
-        tmp = new int[7];
-        ans = new int[7];
-
-        for (int i = 0; i  < 9; i++) {
-            arr[i] = Integer.parseInt(br.readLine());
-        }
-
-        Combination(0, 0, 0);
-        for (int i : ans) {
-            System.out.println(i);
-        }
-        br.close();
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_3052.java b/JAVA_2021/src/BOJ/BOJ_3052.java
deleted file mode 100644
index 59b9570..0000000
--- a/JAVA_2021/src/BOJ/BOJ_3052.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package BOJ;
-
-import java.io.*;
-
-public class BOJ_3052 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int[] arr = new int[50];
-
-        for (int i = 0; i < 10; i++) {
-            int n = Integer.parseInt(br.readLine());
-            int tmp = n % 42;
-            arr[tmp]++;
-        }
-
-        int cnt = 0;
-
-        for (int i = 0; i < arr.length; i++) {
-            if (arr[i] >= 1) {
-                cnt ++;
-            }
-        }
-
-        System.out.println(cnt);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_3101.java b/JAVA_2021/src/BOJ/BOJ_3101.java
deleted file mode 100644
index 4f86bbf..0000000
--- a/JAVA_2021/src/BOJ/BOJ_3101.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_3101 {
-    static int n, m, x = 1, y = 1;
-    static long allSum = 1;
-    static long[] dp;
-
-    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());
-        init();
-        char[] input = br.readLine().toCharArray();
-
-        for (int i = 0; i < m; i++) {
-            switch (input[i]) {
-                case 'U':
-                    if (x > n)
-                        ++y;
-                    --x;
-                    break;
-                case 'D':
-                    if (x >= n)
-                        --y;
-                    ++x;
-                    break;
-                case 'L':
-                    if (x <= n)
-                        --y;
-                    --x;
-                    break;
-                case 'R':
-                    if (x < n)
-                        ++y;
-                    ++x;
-                    break;
-            }
-            allSum += calc(x, y);
-        }
-        System.out.println(allSum);
-    }
-    private static void init() {
-        dp = new long[n * 2 + 1];
-        for (int i = 1; i < n * 2; ++i) {
-            dp[i] = dp[i - 1] + chk(i);
-        }
-    }
-    private static long calc(int x, int y) {
-        long res = 0;
-        if (x % 2 == 1) {
-            res = dp[x - 1] + y;
-        } else {
-            res = dp[x] - y + 1;
-        }
-        return res;
-    }
-    private static long chk(int i) {
-        return i > n ? n - i % n : i;
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_3109.java b/JAVA_2021/src/BOJ/BOJ_3109.java
deleted file mode 100644
index 7ee487c..0000000
--- a/JAVA_2021/src/BOJ/BOJ_3109.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_3109 {
-    private static int[] dx = {-1, 0, 1};
-    private static int[] dy = {1, 1, 1};
-    private static int R, C, ans;
-    private static char[][] graph;
-    private static boolean flag;
-
-    private static void dfs(int x, int y) {
-        if (y == C - 1){
-            flag = true;
-            ans++;
-            return;
-        }
-
-        for (int i = 0 ; i <3; i++) {
-            int nx = x + dx[i];
-            int ny = y + dy[i];
-
-            if (0 <= nx && nx < R && 0 <= ny && ny < C) {
-                if (graph[nx][ny] == '.') {
-                    graph[x][y] = 'x';
-                    dfs(nx, ny);
-                    if (flag) return;
-                }
-            }
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-
-        R = Integer.parseInt(st.nextToken());
-        C = Integer.parseInt(st.nextToken());
-
-        graph = new char[R][C];
-
-        for (int i = 0; i < R; i++) {
-            st = new StringTokenizer(br.readLine());
-            graph[i] = st.nextToken().toCharArray();
-        }
-
-        for (int i = 0; i < R; i++) {
-            flag = false;
-            dfs(i, 0);
-        }
-        System.out.println(ans);
-
-        br.close();
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_3985.java b/JAVA_2021/src/BOJ/BOJ_3985.java
deleted file mode 100644
index 2bce7e1..0000000
--- a/JAVA_2021/src/BOJ/BOJ_3985.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class BOJ_3985 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int L = Integer.parseInt(br.readLine());
-        int N = Integer.parseInt(br.readLine());
-
-        boolean[] chk = new boolean[L + 1];
-        int[] perhaps = new int[N];
-        int[] actually = new int[N];
-
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int From = Integer.parseInt(st.nextToken());
-            int To = Integer.parseInt(st.nextToken());
-            perhaps[i] = To - From + 1;
-
-            for (int j = From; j <= To; j++) {
-                if (!chk[j]) {
-                    chk[j] = true;
-                    actually[i]++;
-                }
-            }
-
-        }
-
-        int perIdx = 0;
-        int actIdx = 0;
-        int perMax = 0;
-        int actMax = 0;
-
-        for (int i = 0; i < N; i++) {
-            if (perhaps[i] > perMax) {
-                perMax = perhaps[i];
-                perIdx = i + 1;
-            }
-        }
-
-        for (int i = 0; i < N; i++) {
-            if (actually[i] > actMax) {
-                actMax = actually[i];
-                actIdx = i + 1;
-            }
-        }
-
-        System.out.println(perIdx);
-        System.out.println(actIdx);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_4740.java b/JAVA_2021/src/BOJ/BOJ_4740.java
deleted file mode 100644
index ac48e38..0000000
--- a/JAVA_2021/src/BOJ/BOJ_4740.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package BOJ;
-
-import java.util.Scanner;
-
-public class BOJ_4740 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-
-        while (true){
-            StringBuilder sb = new StringBuilder();
-            String s = sc.nextLine();
-            if (s.equals("***")) break;
-
-            for (int i = 0; i < s.length(); i++) {
-                sb.append(s.charAt(s.length() - i - 1));
-            }
-            System.out.print(sb.toString() + "\n");
-        }
-        sc.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_4796.java b/JAVA_2021/src/BOJ/BOJ_4796.java
deleted file mode 100644
index a76a235..0000000
--- a/JAVA_2021/src/BOJ/BOJ_4796.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_4796 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int i = 1;
-        while (true){
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            StringBuilder sb = new StringBuilder();
-            int L = Integer.parseInt(st.nextToken());
-            int P = Integer.parseInt(st.nextToken());
-            int V = Integer.parseInt(st.nextToken());
-
-            if (L == 0 && P == 0 && V == 0) break;
-
-            int mok = V / P;
-            int sum = V % P;
-
-            sb.append("Case ").append(i).append(": ").append(mok * L + Math.min(L, sum));
-            System.out.println(sb);
-            i++;
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_5363.java b/JAVA_2021/src/BOJ/BOJ_5363.java
deleted file mode 100644
index 7f325c5..0000000
--- a/JAVA_2021/src/BOJ/BOJ_5363.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_5363 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int N = Integer.parseInt(br.readLine());
-        for (int i = 0; i < N; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-            String A = st.nextToken();
-            System.out.println(A);
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_5397.java b/JAVA_2021/src/BOJ/BOJ_5397.java
deleted file mode 100644
index 1f2af77..0000000
--- a/JAVA_2021/src/BOJ/BOJ_5397.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_5397 {
-
-    public static void main(String[] args) throws Exception{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int t = Integer.parseInt(br.readLine());
-
-        for(int j=0; j<t; j++) {
-            char[] str = br.readLine().toCharArray();
-
-            Stack<Character> a1 = new Stack<Character>();
-            Stack<Character> a2 = new Stack<Character>();
-
-            for(int i=0; i<str.length; i++) {
-                switch(str[i]) {
-                    case '<':
-                        if(!a2.isEmpty()) {
-                            a1.push(a2.pop());
-                        }
-                        break;
-                    case '>':
-                        if(!a1.isEmpty()) {
-                            a2.push(a1.pop());
-                        }
-                        break;
-                    case '-':
-                        if(!a2.isEmpty()) {
-                            a2.pop();
-                        }
-                        break;
-                    default:
-                        if(str[i] != '<' && str[i] != '>' && str[i] != '-') {
-                            a2.push(str[i]);
-                        }
-                        break;
-                }
-            }
-
-            while(!a1.isEmpty()) {
-                a2.push(a1.pop());
-            }
-
-            StringBuilder sb = new StringBuilder();
-
-            for(int i=0; i<a2.size(); i++) {
-                sb.append(a2.elementAt(i));
-            }
-
-            System.out.println(sb);
-
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_5427.java b/JAVA_2021/src/BOJ/BOJ_5427.java
deleted file mode 100644
index 0491047..0000000
--- a/JAVA_2021/src/BOJ/BOJ_5427.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_5427 {
-    private static int w, h, step;
-    private static boolean flag;
-    private static char[][] graph;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static Queue<Node> queue, fire_queue;
-
-    private static void logic() {
-        while (!fire_queue.isEmpty() || !queue.isEmpty()) {
-            int fqlen = fire_queue.size();
-            for (int s = 0; s < fqlen; s++) {
-                Node f = fire_queue.poll();
-
-                for (int d = 0; d < 4; d++) {
-                    int nx = f.x + dx[d];
-                    int ny = f.y + dy[d];
-
-                    if (0 <= nx && nx < h && 0 <= ny && ny < w) {
-                        if (graph[nx][ny] == '.' || graph[nx][ny] == '@') {
-                            graph[nx][ny] = '*';
-                            fire_queue.add(new Node(nx, ny));
-                        }
-                    }
-                }
-            }
-
-            int qlen = queue.size();
-            if (qlen > 0) {
-                step++;
-
-                for (int s = 0; s < qlen; s++) {
-                    Node n = queue.poll();
-
-                    for (int d = 0; d < 4; d++) {
-                        int nx = n.x + dx[d];
-                        int ny = n.y + dy[d];
-
-                        if (nx < 0 || nx >= h || ny < 0 || ny >= w) {
-                            flag = true;
-                            return;
-                        }
-
-                        if (graph[nx][ny] == '.') {
-                            graph[nx][ny] = '@';
-                            queue.add(new Node(nx, ny));
-                        }
-                    }
-                }
-            } else {
-                return;
-            }
-        }
-    }
-
-
-    public static void main (String[]args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            w = Integer.parseInt(st.nextToken());
-            h = Integer.parseInt(st.nextToken());
-
-            graph = new char[h][w];
-            flag = false;
-            step = 0;
-
-            for (int i = 0; i < h; i++) {
-                graph[i] = br.readLine().toCharArray();
-            }
-
-            queue = new ArrayDeque<>();
-            fire_queue = new ArrayDeque<>();
-
-
-            for (int i = 0; i < h; i++) {
-                for (int j = 0; j < w; j++) {
-                    if (graph[i][j] == '@') {
-                        queue.add(new Node(i, j));
-                    }
-                    if (graph[i][j] == '*') {
-                        fire_queue.add(new Node(i, j));
-                    }
-                }
-            }
-            logic();
-            System.out.println(flag == true ? step : "IMPOSSIBLE");
-        }
-        br.close();
-    }
-
-    private static class Node {
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_5585.java b/JAVA_2021/src/BOJ/BOJ_5585.java
deleted file mode 100644
index 0f69eab..0000000
--- a/JAVA_2021/src/BOJ/BOJ_5585.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_5585 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = 1000 - Integer.parseInt(br.readLine());
-
-        int cnt = 0;
-        int[] coins = {500, 100, 50, 10, 5, 1};
-
-        for (int i = 0 ; i < coins.length; i++) {
-            cnt += N / coins[i];
-            N %= coins[i];
-        }
-        System.out.println(cnt);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_5622.java b/JAVA_2021/src/BOJ/BOJ_5622.java
deleted file mode 100644
index 5a62164..0000000
--- a/JAVA_2021/src/BOJ/BOJ_5622.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_5622 {
-    public static void main(String[] args) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        String s = st.nextToken();
-        char arr[] = s.toCharArray();
-
-        int ans = 0;
-
-        for (int i = 0; i < arr.length; i++) {
-            if (arr[i] == 'A' || arr[i] == 'B'|| arr[i] =='C'){
-                ans += 2;
-            } else if (arr[i] == 'D' || arr[i] == 'E'|| arr[i] =='F') {
-                ans += 3;
-            } else if (arr[i] == 'G' || arr[i] == 'H'|| arr[i] =='I') {
-                ans += 4;
-            } else if (arr[i] == 'J' || arr[i] == 'K'|| arr[i] =='L') {
-                ans += 5;
-            } else if (arr[i] == 'M' || arr[i] == 'N'|| arr[i] =='O') {
-                ans += 6;
-            } else if (arr[i] == 'P' || arr[i] == 'Q'|| arr[i] =='R' || arr[i] == 'S') {
-                ans += 7;
-            } else if (arr[i] == 'T' || arr[i] == 'U'|| arr[i] =='V') {
-                ans += 8;
-            } else if (arr[i] == 'W' || arr[i] == 'X'|| arr[i] =='Y' || arr[i] == 'Z') {
-                ans += 9;
-            }
-        }
-        System.out.println(ans + arr.length);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_7287.java b/JAVA_2021/src/BOJ/BOJ_7287.java
deleted file mode 100644
index 7c808f6..0000000
--- a/JAVA_2021/src/BOJ/BOJ_7287.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package BOJ;
-
-public class BOJ_7287 {
-    public static void main(String[] args) {
-        System.out.println(383);
-        System.out.println("hoijae0194");
-
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_7569.java b/JAVA_2021/src/BOJ/BOJ_7569.java
deleted file mode 100644
index b50be46..0000000
--- a/JAVA_2021/src/BOJ/BOJ_7569.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-class myPoint {
-
-    int x, y, z;
-    myPoint(int z, int y, int x){
-        this.z = z;
-        this.y = y;
-        this.x = x;
-    }
-}
-
-public class BOJ_7569 {
-    static int w, h, channel;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        w = Integer.parseInt(st.nextToken());
-        h = Integer.parseInt(st.nextToken());
-        channel = Integer.parseInt(st.nextToken());
-
-        int map[][][] = new int[channel][h][w];
-        boolean visited[][][] = new boolean[channel][h][w];
-        Queue<myPoint> q = new LinkedList<myPoint>();
-        for (int i = 0; i < channel; i++) {
-            for (int j = 0; j < h; j++) {
-                st = new StringTokenizer(br.readLine());
-                for (int k = 0; k < w; k++) {
-                    map[i][j][k] = Integer.parseInt(st.nextToken());
-                    if (map[i][j][k] == 1) {
-                        visited[i][j][k] = true;
-                        q.offer(new myPoint(i, j, k));
-                        map[i][j][k] = 0;
-                    }
-                }
-            }
-        }
-        int dz[] = {-1,1,0,0,0,0};
-        int dy[] = {0,0,1,-1,0,0};
-        int dx[] = {0,0,0,0,1,-1};
-
-        int ans = 0;
-        while (!q.isEmpty()) {
-            int z = q.peek().z;
-            int y = q.peek().y;
-            int x = q.peek().x;
-            q.poll();
-            for (int i = 0; i < 6; i++){
-                int nz = z + dz[i];
-                int ny = y + dy[i];
-                int nx = x + dx[i];
-
-                if (condition(nz, ny, nx) && !visited[nz][ny][nx] && map[nz][ny][nx] == 0){
-                    map[nz][ny][nx] = map[z][y][x] + 1;
-                    visited[nz][ny][nx] = true;
-                    q.offer(new myPoint(nz, ny, nx));
-                    ans = ans <= map[nz][ny][nx] ? map[nz][ny][nx] : ans;
-                }
-            }
-        }
-        if (!checkZero(map, visited)) ans = -1;
-        System.out.println(ans);
-    }
-
-    static boolean condition(int z, int y, int x) {
-        if (z >= 0 && y >= 0 && x >= 0 && z < channel && y < h && x <w)
-            return true;
-        else
-            return false;
-    }
-
-    static boolean checkZero(int[][][] map, boolean[][][] visited) {
-        for (int z = 0; z<channel; z++)
-            for (int y = 0; y<h; y++)
-                for (int x = 0; x<w; x++)
-                    if (!visited[z][y][x] && map[z][y][x] == 0)
-                        return false;
-        return true;
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_8320.java b/JAVA_2021/src/BOJ/BOJ_8320.java
deleted file mode 100644
index 7d30386..0000000
--- a/JAVA_2021/src/BOJ/BOJ_8320.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_8320 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        int ans = 0;
-        for (int i = 1; i <= N; i++) {
-            for (int j = i; i * j <= N; j++) {
-                ans++;
-            }
-        }
-        System.out.println(ans);
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_8393.java b/JAVA_2021/src/BOJ/BOJ_8393.java
deleted file mode 100644
index dd513bc..0000000
--- a/JAVA_2021/src/BOJ/BOJ_8393.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_8393 {
-    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 sum = 0;
-        for (int i = 1; i < n + 1; i++) {
-            sum = sum + i;
-        }
-        System.out.println(sum);
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_8958.java b/JAVA_2021/src/BOJ/BOJ_8958.java
deleted file mode 100644
index bad2d57..0000000
--- a/JAVA_2021/src/BOJ/BOJ_8958.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_8958 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int n = Integer.parseInt(br.readLine());
-
-        for (int i = 0 ; i < n; i++) {
-            char[] a = br.readLine().toCharArray();
-            int cnt = 0;
-            int ans = 0;
-            for (int j = 0; j < a.length; j++) {
-                if (a[j] == 'O') {
-                    cnt++;
-                    ans += cnt;
-                }
-                if (a[j] == 'X') {
-                    cnt = 0;
-                }
-            }
-            System.out.println(ans);
-        }
-    br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_8972.java b/JAVA_2021/src/BOJ/BOJ_8972.java
deleted file mode 100644
index 45ec6e2..0000000
--- a/JAVA_2021/src/BOJ/BOJ_8972.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class BOJ_8972 {
-    private static int[] dx = {1, 1, 1, 0, 0, 0, -1, -1, -1};
-    private static int[] dy = {-1, 0, 1, -1, 0, 1, -1, 0, 1};
-    private static int R, C;
-    private static char[][] graph;
-    private static Node myArduino;
-    private static LinkedList<Node> crazyArduino = new LinkedList<>();;
-
-    private static boolean myArduinoMove(int dir) {
-        int nx = myArduino.x + dx[dir];
-        int ny = myArduino.y + dy[dir];
-
-        if (graph[nx][ny] == 'R') return false;
-        else {
-            myArduino.x = nx;
-            myArduino.y = ny;
-            return true;
-        }
-    }
-
-    private static boolean crazyArduinoMove() {
-        int[][] tmp_graph = new int[R][C];
-        int numOfCrazy = crazyArduino.size();
-
-        for (int i = 0 ; i< numOfCrazy; i++) {
-            int x = crazyArduino.peek().x;
-            int y = crazyArduino.poll().y;
-
-            int min = 123456789;
-            int minX = 0;
-            int minY = 0;
-
-            for (int d = 0; d < 9; d++) {
-                if (d == 4) continue;
-                int nx = x + dx[d];
-                int ny = y + dy[d];
-
-                if (0 <= nx && nx < R && 0 <= ny && ny < C) {
-                    int shortDistance = Math.abs(myArduino.x - nx) + Math.abs(myArduino.y - ny);
-                    if (shortDistance < min) {
-                        min = shortDistance;
-                        minX = nx;
-                        minY = ny;
-                    }
-                }
-            }
-            if (minX == myArduino.x && minY == myArduino.y) return false;
-            tmp_graph[minX][minY] += 1;
-        }
-
-        for (int i = 0 ; i < R; i++) {
-            for (int j = 0; j <C; j++) {
-                if (tmp_graph[i][j] == 1) {
-                    crazyArduino.add(new Node(i, j));
-                }
-            }
-        }
-        return true;
-    }
-
-    private static void reDraw() {
-        graph = new char[R][C];
-        for (int i = 0; i < R; i++) {
-            Arrays.fill(graph[i], '.');
-        }
-        graph[myArduino.x][myArduino.y] = 'I';
-
-        for (int i = 0 ; i < crazyArduino.size(); i++) {
-            Node p = crazyArduino.poll();
-            graph[p.x][p.y] = 'R';
-            crazyArduino.add(p);
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        R = Integer.parseInt(st.nextToken());
-        C = Integer.parseInt(st.nextToken());
-
-        graph = new char[R][C];
-        for (int i = 0; i < R; i++) { // 그래프 입력하기
-            graph[i] = br.readLine().toCharArray();
-        }
-
-        String tmp = br.readLine();
-        int[] dir = new int[tmp.length()];
-        for (int i = 0 ;i < tmp.length(); i++) { // cmd 입력하기
-            dir[i] = tmp.charAt(i) - '0';
-        }
-
-        for (int i = 0 ; i < R; i++) {
-            for (int j = 0 ; j < C; j++) {
-                if (graph[i][j] == 'R') { // 그래프에서 미친 아두이노 좌표 저장
-                    crazyArduino.add(new Node(i, j));
-                }
-                if (graph[i][j] == 'I') { // 그래프에서 내 아두이노 좌표 저장
-                    myArduino = new Node(i, j);
-                }
-            }
-        }
-
-        int kraj = 0;
-        for (int i = 0; i < dir.length; i++) {
-            if (dir[i] != 5) {
-                if (!myArduinoMove(dir[i] - 1)) {
-                    kraj = i + 1;
-                    break;
-                }
-            }
-
-            if (!crazyArduinoMove()) {
-                kraj = i + 1;
-                break;
-            }
-            reDraw();
-        }
-        if (kraj != 0) {
-            sb.append("kraj ").append(kraj);
-        } else {
-            for (int i = 0; i < R; i++) {
-                for (int j = 0 ; j <C; j++) {
-                    sb.append(graph[i][j]);
-                }
-                sb.append("\n");
-            }
-        }
-        System.out.print(sb.toString());
-        br.close();
-    }
-
-    private static class Node {
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_8979.java b/JAVA_2021/src/BOJ/BOJ_8979.java
deleted file mode 100644
index 000edd7..0000000
--- a/JAVA_2021/src/BOJ/BOJ_8979.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-public class BOJ_8979 {
-    private static int N, K;
-    private static ArrayList<Node2> arr = new ArrayList<>();;
-    private static int end_point = 0;
-
-    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());
-        K = Integer.parseInt(st.nextToken());
-
-        for (int i = 1; i <= N; i++) {
-            st = new StringTokenizer(br.readLine());
-            int no = Integer.parseInt(st.nextToken());
-            int gold = Integer.parseInt(st.nextToken());
-            int silver = Integer.parseInt(st.nextToken());
-            int bronze = Integer.parseInt(st.nextToken());
-            arr.add(new Node2(no, gold, silver, bronze, 0));
-        }
-        Collections.sort(arr);
-        arr.get(0).rank = 1;
-
-        for (int i = 1; i < arr.size(); i++) {
-            int tmp_gold = arr.get(i - 1).gold;
-            int tmp_silver = arr.get(i - 1).silver;
-            int tmp_bronze = arr.get(i - 1).bronze;
-            Node2 now = arr.get(i);
-
-            if (arr.get(i).no == K) {
-                end_point = i;
-            }
-            if (now.gold == tmp_gold && now.silver == tmp_silver && now.bronze == tmp_bronze) {
-                arr.get(i).rank = arr.get(i - 1).rank;
-            } else {
-                arr.get(i).rank = i + 1;
-            }
-        }
-        System.out.println(arr.get(end_point).rank);
-    }
-}
-
-class Node2 implements Comparable<Node2> {
-    int no;
-    int gold;
-    int silver;
-    int bronze;
-    int rank;
-
-    public Node2(int no, int gold, int silver, int bronze, int rank) {
-        this.no = no;
-        this.gold = gold;
-        this.silver = silver;
-        this.bronze = bronze;
-        this.rank = rank;
-    }
-
-    @Override
-    public int compareTo(Node2 o) {
-        if (this.gold == o.gold) {
-            if (this.silver == o.silver) {
-                return o.bronze - this.bronze;
-            } else {
-                return o.silver - this.silver;
-            }
-        } else {
-            return o.gold - this.gold;
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/BOJ/BOJ_9012.java b/JAVA_2021/src/BOJ/BOJ_9012.java
deleted file mode 100644
index dc72347..0000000
--- a/JAVA_2021/src/BOJ/BOJ_9012.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_9012 {
-
-    public static boolean isCheck(String ps) {
-        int cnt = 0;
-        for (int i = 0 ; i < ps.length(); i++) {
-            if (ps.charAt(i) == '(') {
-                cnt++;
-            } else {
-                cnt--;
-            }
-            if (cnt < 0) {
-                return false;
-            }
-        }
-        if (cnt == 0) {
-            return true;
-        }
-        return false;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-
-        int T = Integer.parseInt(br.readLine());
-
-        for (int i = 0 ; i < T; i++) {
-            String s = br.readLine();
-            if (isCheck(s)) {
-                sb.append("YES").append("\n");
-            } else {
-                sb.append("NO").append("\n");
-            }
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_9205.java b/JAVA_2021/src/BOJ/BOJ_9205.java
deleted file mode 100644
index 29dcc0e..0000000
--- a/JAVA_2021/src/BOJ/BOJ_9205.java
+++ /dev/null
@@ -1,116 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class BOJ_9205 {
-    private static int t, n;
-    private static ArrayList<Node> arr;
-    private static ArrayList<Integer>[] edges;
-    private static boolean[] visited;
-
-
-    private static boolean checkBeer(Node point1, Node point2) {
-        int distance = Math.abs(point1.x - point2.x) + Math.abs(point1.y - point2.y);
-        if (distance <= 1000) {
-            return true;
-        } else{
-            return false;
-        }
-    }
-
-    private static void bfs(int start) {
-        Queue<Integer> queue = new LinkedList<>();
-        queue.offer((start));
-        visited[start] = true;
-        while (!queue.isEmpty()) {
-            int current = queue.poll();
-            for (int i : edges[current]) {
-                if (!visited[i]) {
-                    queue.offer((i));
-                    visited[i] = true;
-                }
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        t = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= t; tc++) {
-            n = Integer.parseInt(br.readLine()); // 편의점 갯수
-
-            arr = new ArrayList<>();
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int house_x = Integer.parseInt(st.nextToken());
-            int house_y = Integer.parseInt(st.nextToken());
-            arr.add(new Node(house_x, house_y)); // 집 좌표 넣기
-
-            for (int i = 0; i <n; i++) {
-                st = new StringTokenizer(br.readLine());
-                int conv_x = Integer.parseInt(st.nextToken());
-                int conv_y = Integer.parseInt(st.nextToken());
-                arr.add(new Node(conv_x, conv_y)); // 편의점 좌표 넣기
-            }
-
-            st = new StringTokenizer(br.readLine());
-            int festi_x = Integer.parseInt(st.nextToken());
-            int festi_y = Integer.parseInt(st.nextToken());
-            arr.add(new Node(festi_x, festi_y)); // 락페 좌표 넣기
-
-//            System.out.println(arr.toString());
-
-            visited = new boolean[n + 2];
-
-            edges = new ArrayList[n + 2];
-            for (int i = 0; i < n + 2; i++) {
-                edges[i] = new ArrayList<>();
-            }
-
-            for (int i = 0; i < n + 2; i++) {
-                for (int j = 0; j < n + 2; j++) {
-                    if (i != j) {
-                        if (checkBeer(arr.get(i), arr.get(j))) {
-                            edges[i].add(j);
-                        }
-                    }
-                }
-            }
-
-//            for (int i = 0 ; i < n + 2; i++) {
-//                System.out.println(edges[i].toString());
-//            }
-
-            bfs(0);
-
-            if (visited[n + 1]) {
-                System.out.println("happy");
-            } else {
-                System.out.println("sad");
-            }
-        }
-
-        br.close();
-    }
-
-    private static class Node {
-        int x, y;
-
-        public Node(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-
-        @Override
-        public String toString() {
-            return "[" + x + ", " + y + ']';
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_9205_FW.java b/JAVA_2021/src/BOJ/BOJ_9205_FW.java
deleted file mode 100644
index 9c81cec..0000000
--- a/JAVA_2021/src/BOJ/BOJ_9205_FW.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_9205_FW {
-    private static final int INF = (int) 1e9;
-    private static int N, M;
-    private static int[][] location;
-    private static int[][] distance;
-
-    private static void mapping() {
-        for (int i = 0; i < M; i++) {
-            for (int j = 0 ;j < M; j++) {
-                int dis = Math.abs(location[i][0] - location[j][0]) + Math.abs(location[i][1] - location[j][1]);
-                distance[i][j] = dis > 1000 ? INF : 1;
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-            M = N + 2;
-            location = new int[M][2];
-            distance = new int[M][M];
-
-            for (int i = 0 ; i < M ; i++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                location[i][0] = Integer.parseInt(st.nextToken());
-                location[i][1] = Integer.parseInt(st.nextToken());
-            }
-            mapping();
-
-            for (int k = 0; k < M; k++) {
-                for (int i = 0;  i <M; i ++) {
-                    if (k == i) continue;
-                    for (int j = 0 ; j < M; j ++) {
-                        if (distance[i][j] > distance[i][k] + distance[k][j]) {
-                            distance[i][j] = distance[i][k] + distance[k][j];
-                        }
-                    }
-                }
-            }
-            System.out.println(distance[0][M - 1] == INF ? "sad" : "happy");
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_9498.java b/JAVA_2021/src/BOJ/BOJ_9498.java
deleted file mode 100644
index 54c77ea..0000000
--- a/JAVA_2021/src/BOJ/BOJ_9498.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class BOJ_9498 {
-    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());
-        if (100 >= n && n >= 90) {
-            System.out.print('A');
-        } else if (90 > n && n >= 80) {
-            System.out.print('B');
-        } else if (80 > n && n >= 70) {
-            System.out.print('C');
-        } else if (70 > n && n >= 60) {
-            System.out.print('D');
-        } else {
-            System.out.print('F');
-        }
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_9657.java b/JAVA_2021/src/BOJ/BOJ_9657.java
deleted file mode 100644
index 4976739..0000000
--- a/JAVA_2021/src/BOJ/BOJ_9657.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class BOJ_9657 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int N = Integer.parseInt(br.readLine());
-        System.out.println((N % 7 == 2 || N % 7 == 0) ? "CY" : "SK");
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/BOJ/BOJ_9663.java b/JAVA_2021/src/BOJ/BOJ_9663.java
deleted file mode 100644
index 4d8efed..0000000
--- a/JAVA_2021/src/BOJ/BOJ_9663.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package BOJ;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-public class BOJ_9663 {
-    private static int N;
-
-    public static void main(String[] args) {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-
-    }
-}
diff --git a/JAVA_2021/src/SSAFY/GoodMorning.java b/JAVA_2021/src/SSAFY/GoodMorning.java
deleted file mode 100644
index a581c65..0000000
--- a/JAVA_2021/src/SSAFY/GoodMorning.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package SSAFY;
-
-import java.util.Arrays;
-import java.util.Scanner;
-
-public class GoodMorning {
-
-
-   static int N,R; //N:입력받을 데이터 수(전체데이터) R:선택할 데이터 수
-   static int[] input,res; //input:입력데이터저장    res:결과데이터저장
-   static boolean[] visited; //visited: 방문체크용 배열
-	
-   public static void main(String[] args) {
-	  Scanner sc = new Scanner(System.in);
-  	  N = sc.nextInt();
-	  R = sc.nextInt();
-	  input = new int[N];
-	  res = new int[R];
-	  visited = new boolean[N];
-	
-	  for (int i = 0; i < N; i++) {
-		input[i] = sc.nextInt();
-	  }
-//      1. input배열에서 R개의 수를 뽑아서 만들 수 있는 순열을 모두 출력하시오.
-      System.out.println("----- 순열 -----");
-      makePermutation(0);
-      
-//      2. input배열에서 R개의 수를 뽑아서 만들 수 있는 조합을 모두 출력하시오.
-      System.out.println("----- 조합 -----");
-      makeCombination(0,0);
-      
-	  visited = new boolean[N];      
-//      3. input배열로 구성할 수 있는 모든 부분집합을 출력하시오.
-      System.out.println("----- 부분집합 -----");
-      makeSubset(0);
-      
-      sc.close();
-   }//main
-   
-   private static void makePermutation(int cnt) {
-   	if (cnt == R) {
-		System.out.println(Arrays.toString(res));
-		return;
-	}
-
-   	for (int i = 0; i < N; i++) {
-   		if (visited[i]) continue;
-   		res[cnt] = input[i];
-   		visited[i] = true;
-   		makePermutation(cnt + 1);
-   		visited[i] = false;
-	}
-   }
-	
-   private static void makeCombination(int cnt,int start) {
-   	if (cnt == R) {
-		System.out.println(Arrays.toString(res));
-		return;
-	}
-
-   	for (int i = start; i < N; i++) {
-   		res[cnt] = input[i];
-   		makeCombination(cnt + 1, i + 1);
-	}
-   }
-	
-   private static void makeSubset(int cnt) {
-   	if (cnt == N) {
-		System.out.print("[");
-		for (int i = 0; i < N; ++i) {
-			if (visited[i]) System.out.print(input[i] + " ");
-		}
-		System.out.println("]");
-		return;
-	}
-   	visited[cnt] = true;
-   	makeSubset(cnt + 1);
-   	visited[cnt] = false;
-   	makeSubset(cnt + 1);
-//		if(cnt==N) {
-//			System.out.print("[");
-//			for(int i=0; i<N; ++i) {
-//				if(visited[i])
-//				  System.out.print(input[i]+" ");
-//			}
-//			System.out.println("]");
-//			return;
-//		}
-//		visited[cnt] = true;
-//		makeSubset(cnt+1);
-//		visited[cnt] = false;
-//		makeSubset(cnt+1);
-   }
-   
-}
\ No newline at end of file
diff --git "a/JAVA_2021/src/SSAFY/\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274_\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.java" "b/JAVA_2021/src/SSAFY/\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274_\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.java"
deleted file mode 100644
index 5c74db8..0000000
--- "a/JAVA_2021/src/SSAFY/\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274_\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220.java"
+++ /dev/null
@@ -1,97 +0,0 @@
-package SSAFY;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.PriorityQueue;
-import java.util.StringTokenizer;
-
-public class 다익스트라_우선순위큐 {
-    private static final int INF = (int) 1e9;
-    private static int n, m, start;
-    private static ArrayList<ArrayList<Node>> graph;
-    private static int[] d = new int[100001];
-
-    private static void dijikstra(int start) {
-        PriorityQueue<Node> pq = new PriorityQueue<>();
-        pq.offer(new Node(start, 0));
-        d[start] = 0;
-
-        while (!pq.isEmpty()) {
-            Node node = pq.poll();
-            int dist = node.dist;
-            int now = node.idx;
-
-            if (d[now] < dist) continue; // 현재 노드가 이미 처리된 적이 있다면 무시
-
-            for (int i = 0; i < graph.get(now).size(); i++) {
-                int cost = d[now] + graph.get(now).get(i).dist;
-                if (cost < d[graph.get(now).get(i).idx]) {
-                    d[graph.get(now).get(i).idx] = cost;
-                    pq.offer(new Node(graph.get(now).get(i).idx, cost));
-                }
-            }
-        }
-    }
-
-
-    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());
-        start = Integer.parseInt(br.readLine());
-        graph = new ArrayList<ArrayList<Node>>();
-        for (int i = 0 ; i <= n; i++) {
-            graph.add(new ArrayList<>());
-        }
-
-        for (int i = 0 ; i < m; i++) {
-            st = new StringTokenizer(br.readLine());
-            int a = Integer.parseInt(st.nextToken());
-            int b = Integer.parseInt(st.nextToken());
-            int c = Integer.parseInt(st.nextToken());
-            graph.get(a).add(new Node(b, c));
-        }
-
-        Arrays.fill(d, INF);
-
-        dijikstra(start);
-//        System.out.println(graph.get(1));
-        for (int i = 1; i <= n; i++) {
-            if (d[i] == INF) {
-                System.out.println("INF");
-            } else {
-                System.out.println(d[i]);
-            }
-        }
-        br.close();
-    }
-
-    private static class Node implements Comparable<Node> {
-        int idx, dist;
-
-        public Node(int idx, int dist) {
-            this.idx = idx;
-            this.dist = dist;
-        }
-
-
-        @Override
-        public int compareTo(Node o) {
-            if (this.dist < o.dist) {
-                return -1;
-            }
-            return 1;
-        }
-
-        @Override
-        public String toString() {
-            return "[" + idx +
-                    ", " + dist +
-                    ']';
-        }
-    }
-}
diff --git "a/JAVA_2021/src/SSAFY/\353\266\200\353\266\204\354\247\221\355\225\251.java" "b/JAVA_2021/src/SSAFY/\353\266\200\353\266\204\354\247\221\355\225\251.java"
deleted file mode 100644
index d12c3c9..0000000
--- "a/JAVA_2021/src/SSAFY/\353\266\200\353\266\204\354\247\221\355\225\251.java"
+++ /dev/null
@@ -1,41 +0,0 @@
-package SSAFY;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class 부분집합 {
-    private static int N;
-    private static int[] input;
-    private static boolean[] isSelected;
-
-    private static void Powerset(int depth) {
-        if (depth == N) {
-            for (int i = 0 ; i < N; i++) {
-                System.out.print((isSelected[i] ? input[i] : "X") + "\t");
-            }
-            System.out.println();
-            return;
-        }
-        isSelected[depth] = true;
-        Powerset(depth + 1);
-        isSelected[depth] = false;
-        Powerset(depth + 1);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        input = new int[N];
-        isSelected = new boolean[N];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N; i++) {
-            input[i] = Integer.parseInt(st.nextToken());
-        }
-
-        Powerset(0);
-        br.close();
-    }
-}
diff --git "a/JAVA_2021/src/SSAFY/\354\210\234\354\227\264.java" "b/JAVA_2021/src/SSAFY/\354\210\234\354\227\264.java"
deleted file mode 100644
index d52a076..0000000
--- "a/JAVA_2021/src/SSAFY/\354\210\234\354\227\264.java"
+++ /dev/null
@@ -1,48 +0,0 @@
-package SSAFY;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class 순열 {
-    private static int N;
-    private static int[] input, nums;
-    private static boolean[] isSelected;
-
-    private static void Permutation(int depth, int flag) {
-        if (depth == N) {
-            System.out.println(Arrays.toString(nums));
-            return;
-        }
-//        for (int i = 0 ; i < N; i++) {
-//            if (isSelected[i]) continue;
-//            nums[depth] = input[i];
-//            isSelected[i] = true;
-//            Permutation(depth + 1);
-//            isSelected[i] = false;
-//        }
-        for (int i = 0 ; i < N; i++) {
-            if ((flag & 1 << i) != 0) continue;
-            nums[depth] = input[i];
-            Permutation(depth+1, flag | 1<<i);
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        input = new int[N];
-        nums = new int[N];
-        isSelected = new boolean[N];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N; i++) {
-            input[i] = Integer.parseInt(st.nextToken());
-        }
-//        Permutation(0);
-        Permutation(0, 0);
-        br.close();
-    }
-}
diff --git "a/JAVA_2021/src/SSAFY/\354\241\260\355\225\251.java" "b/JAVA_2021/src/SSAFY/\354\241\260\355\225\251.java"
deleted file mode 100644
index 4613e95..0000000
--- "a/JAVA_2021/src/SSAFY/\354\241\260\355\225\251.java"
+++ /dev/null
@@ -1,39 +0,0 @@
-package SSAFY;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class 조합 {
-    private static int N, R;
-    private static int[] input, num;
-
-    private static void Combination(int depth, int start) {
-        if (depth == R) {
-            System.out.println(Arrays.toString(num));
-            return;
-        }
-
-        for (int i = start; i < N; i++) {
-            num[depth] = input[i];
-            Combination(depth + 1, i + 1);
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        N = Integer.parseInt(br.readLine());
-        R = Integer.parseInt(br.readLine());
-        input = new int[N];
-        num = new int[R];
-
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        for (int i = 0 ; i < N; i++) {
-            input[i] = Integer.parseInt(st.nextToken());
-        }
-        Combination(0, 0);
-        br.close();
-    }
-}
diff --git "a/JAVA_2021/src/SSAFY/\355\224\214\353\241\234\354\235\264\353\223\234\354\233\214\354\205\234.java" "b/JAVA_2021/src/SSAFY/\355\224\214\353\241\234\354\235\264\353\223\234\354\233\214\354\205\234.java"
deleted file mode 100644
index 34c477a..0000000
--- "a/JAVA_2021/src/SSAFY/\355\224\214\353\241\234\354\235\264\353\223\234\354\233\214\354\205\234.java"
+++ /dev/null
@@ -1,61 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class 플로이드워셜 {
-    private static final int INF = 123456789;
-    private static int N, M;
-    private static int[][] graph;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] line = br.readLine().split(" ");
-        N = Integer.parseInt(line[0]);
-        M = Integer.parseInt(line[1]);
-        graph = new int[501][501];
-
-        for (int i = 0 ; i <= N; i++) {
-            Arrays.fill(graph[i], INF);
-        }
-
-        for (int i = 0 ; i <= N; i++){
-            for (int j = 0 ; j <= N; j++) {
-                if (i == j) graph[i][j] = 0;
-            }
-        }
-
-        for (int i = 0 ; i < M; i++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int from = Integer.parseInt(st.nextToken());
-            int to = Integer.parseInt(st.nextToken());
-            int weight = Integer.parseInt(st.nextToken());
-            graph[from][to] = weight;
-        }
-
-        for (int k  = 1; k <= N; k++) {
-            for (int a = 1; a <= N; a++) {
-                for (int b = 1; b <= N; b++) {
-                    graph[a][b] = Math.min(graph[a][b], graph[a][k] + graph[k][b]);
-                }
-            }
-        }
-
-        for (int i = 1; i <= N; i++) {
-            for (int j = 1; j <= N; j++) {
-                if (graph[i][j] == INF) {
-                    System.out.println("INF");
-                } else {
-                    System.out.print(graph[i][j] + " ");
-                }
-            }
-            System.out.println();
-        }
-
-        br.close();
-    }
-
-
-}
diff --git "a/JAVA_2021/src/SSAFY/\355\233\204\354\234\204\354\227\260\354\202\260\354\236\220.java" "b/JAVA_2021/src/SSAFY/\355\233\204\354\234\204\354\227\260\354\202\260\354\236\220.java"
deleted file mode 100644
index 17aca93..0000000
--- "a/JAVA_2021/src/SSAFY/\355\233\204\354\234\204\354\227\260\354\202\260\354\236\220.java"
+++ /dev/null
@@ -1,56 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Stack;
-
-public class 후위연산자 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        for (int tc = 1; tc <= 10; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            Stack<Character> stack = new Stack<>();
-            String line = br.readLine();
-            String tmp = "";
-
-            for (int i = 0; i < N; i++) { // 중위연산자를 후위연산자로 바꿔줌
-                if (line.charAt(i) != '+' && line.charAt(i) != '*') {
-                    tmp += line.charAt(i); // 숫자는 tmp에 저장
-                } else {
-                    if (line.charAt(i) == '*') {
-                        stack.push(line.charAt(i)); // 곱셈 연산자가 있으면 스택에 넣는다
-                    } else {
-                        do {
-                            if (stack.isEmpty()) break;
-                            tmp += stack.pop(); // 곱셈 연산자를 tmp에 옮겨준다
-                        } while (!stack.isEmpty() && stack.peek() != '+'); // 스택이 비어있지않고, top이 숫자나 곱셈연산자일 경우에 계속
-                        stack.push(line.charAt(i)); // 덧셈 연산자를 스택에 넣는다.
-                    }
-                }
-            }
-
-            while (!stack.isEmpty()) tmp += stack.pop(); // 스택에 있는것을 전부 tmp에 넣는다.
-
-            Stack<Integer> op = new Stack<>(); // 숫자 연산을 위한 스택
-            for (int i =0 ; i < tmp.length(); i++) { // 후위연산자로 만든것을 계산함
-                if (tmp.charAt(i) != '+' && tmp.charAt(i) != '*') op.push(tmp.charAt(i) - '0'); // tmp에 숫자가 있으면 그것을 op에 푸쉬
-                else {
-                    int a = op.pop(); // 연산을 위한 숫자 두개 팝
-                    int b = op.pop();
-                    char cmd = tmp.charAt(i); // tmp에 남아있던 연산자를 꺼낸다.
-
-                    switch (cmd) { // 곱셈인지 덧셈인지 판단해서 연산후 op에 넣는다.
-                        case '*':
-                            int tmp1 = a * b;
-                            op.push(tmp1);
-                            break;
-                        case '+':
-                            int tmp2 = a + b;
-                            op.push(tmp2);
-                            break;
-                    }
-                }
-            }
-            System.out.println("#" + tc + " " + op.peek());
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Baby_Gin.java b/JAVA_2021/src/SWEA/Baby_Gin.java
deleted file mode 100644
index b2efe7a..0000000
--- a/JAVA_2021/src/SWEA/Baby_Gin.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package SWEA;
-
-public class Baby_Gin {
-    private static int[] arr = {2, 3, 7, 7, 1, 7};
-    private static boolean check;
-
-    private static boolean is_Run(int start, int end) {
-        if (Math.abs(arr[start] - arr[start + 1]) == 1 && Math.abs(arr[start] - arr[start + 2]) == 2) {
-            return true;
-        }
-        return false;
-    }
-
-    private static boolean is_Triplet (int start) {
-        if(arr[start] == arr[start + 1] && arr[start] == arr[start + 2]) {
-            return true;
-        }
-        return false;
-    }
-
-    private static void swap(int idx1, int idx2) {
-        int tmp = arr[idx1];
-        arr[idx1] = arr[idx2];
-        arr[idx2] = tmp;
-    }
-
-    private static void recursive(int cnt, int size) {
-        if(cnt == size && !check) {
-            if ((is_Run(0, 2) && is_Triplet(3)) || (is_Run(3, 5) && is_Triplet(0))) {
-                check = true;
-                for (int i = 0; i < 6; i++) {
-                    System.out.print(arr[i] + " ");
-                }
-                System.out.println();
-            }
-        } else {
-            for (int i = cnt; i < 6; i++) {
-                swap(cnt, i);
-                recursive(cnt + 1, size);
-                swap(cnt, i);
-            }
-        }
-    }
-
-    private static boolean is_Babygin (int[] arr) {
-        recursive(0, arr.length);
-        return check;
-    }
-
-    public static void main(String[] args) {
-        System.out.println(is_Babygin(arr));
-    }
-}
diff --git a/JAVA_2021/src/SWEA/SWEA_1208.java b/JAVA_2021/src/SWEA/SWEA_1208.java
deleted file mode 100644
index 77f4763..0000000
--- a/JAVA_2021/src/SWEA/SWEA_1208.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class SWEA_1208 {
-    public static void main(String[] args) throws Exception{
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        for (int tc = 1; tc < 11; tc++) {
-
-            int Dump = Integer.parseInt(br.readLine());
-
-            int[] arr = new int[100];
-
-            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-            for (int i = 0; i < 100; i++) {
-                arr[i] = Integer.parseInt(st.nextToken());
-            }
-            int cnt = 0;
-            while (true) {
-                if (Dump == cnt) break;
-                Arrays.sort(arr);
-                arr[99]--;
-                arr[0]++;
-                cnt++;
-            }
-            Arrays.sort(arr);
-            System.out.println("#" + tc + " " + (arr[99] - arr[0]));
-        }// tc end
-    }
-}
-
-
diff --git a/JAVA_2021/src/SWEA/SWEA_1289.java b/JAVA_2021/src/SWEA/SWEA_1289.java
deleted file mode 100644
index 4f1a406..0000000
--- a/JAVA_2021/src/SWEA/SWEA_1289.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class SWEA_1289 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 0; tc < T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            char[] input = st.nextToken().toCharArray();
-            char[] mem = new char[input.length];
-
-            int ans = 0;
-
-            for (int i = 0 ; i < input.length; i++) { // 초기화 상태
-                mem[i] = '0';
-            }
-
-            for (int i = 0 ; i < input.length; i++) { // 받은 값의 길이로 돌면서
-                if (input[i] != mem[i]) { // 복구하고자 하는 값과 0으로 초기화된 값이 다르면
-                    char tmpN = input[i]; // tmpN에 그 값을 임시로 저장
-
-                    for (int j = i; j < input.length; j++) {
-                        mem[j] = tmpN; // 메모리에 그 값을 덮어 씌운다
-                    }
-                    ans++; // 카운트 + 1
-                }
-            }
-            System.out.println("#" + (tc+1) + " " + ans);
-        }
-    }
-}
-
diff --git a/JAVA_2021/src/SWEA/SWEA_1660.java b/JAVA_2021/src/SWEA/SWEA_1660.java
deleted file mode 100644
index 2459851..0000000
--- a/JAVA_2021/src/SWEA/SWEA_1660.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.StringTokenizer;
-
-public class SWEA_1660 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int N = Integer.parseInt(st.nextToken());
-            int M = Integer.parseInt(st.nextToken());
-            int K = Integer.parseInt(st.nextToken());
-
-            ArrayList<Integer> arr = new ArrayList<>();
-            st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < N; i++) {
-                int tmp = Integer.parseInt(st.nextToken());
-                arr.add(tmp);
-            }
-
-            Collections.sort(arr);
-            boolean flag = false;
-            for(int i = 0; i < N; i++) {
-                int tmp = arr.get(i);
-                int sum = K * (tmp / M);
-                if(sum < (i + 1))
-                    flag = true;
-            }
-
-            if (flag) {
-                System.out.println("#" + tc + " " + "Impossible");
-            } else {
-                System.out.println("#" + tc + " " + "Possible");
-            }
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/SWEA_1859.java b/JAVA_2021/src/SWEA/SWEA_1859.java
deleted file mode 100644
index 2cb4553..0000000
--- a/JAVA_2021/src/SWEA/SWEA_1859.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package SWEA;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class SWEA_1859 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            int[] dayPrice = new int[N];
-
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < N; i++) {
-                dayPrice[N - i- 1] = Integer.parseInt(st.nextToken());
-            }
-
-            long ans = 0;
-            long now_Max = dayPrice[0];
-
-            for (int i = 1; i < N; i ++) {
-                if (now_Max > dayPrice[i]) {
-                    ans += now_Max - dayPrice[i];
-                } else {
-                    now_Max = dayPrice[i];
-                }
-            }
-            bw.write("#" + tc + " " + ans + "\n");
-        }
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/SWEA_1954.java b/JAVA_2021/src/SWEA/SWEA_1954.java
deleted file mode 100644
index fdff383..0000000
--- a/JAVA_2021/src/SWEA/SWEA_1954.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class SWEA_1954 {
-    private static int[] dx = {0, 1, 0, -1};
-    private static int[] dy = {1, 0, -1, 0};
-
-    private static int N;
-    private static int[][] graph;
-
-    public static int[][] snail() {
-        graph = new int[N][N];
-        Pair p = new Pair(0, 0);
-        int val = 1;
-        int dir = 0;
-
-        while (true) {
-            graph[p.x][p.y] = val++;
-            if (val > N * N) break;
-
-            int nx = p.x + dx[dir];
-            int ny = p.y + dy[dir];
-
-            if (nx < 0 || nx >= N || ny < 0 || ny >= N) {
-                dir = (dir + 1) % 4;
-                nx = p.x + dx[dir];
-                ny = p.y + dy[dir];
-            }
-
-            if (graph[nx][ny] != 0) {
-                dir = (dir + 1) % 4;
-                nx = p.x + dx[dir];
-                ny = p.y + dy[dir];
-            }
-
-            p.x = nx;
-            p.y = ny;
-        }
-        return graph;
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc < T + 1; tc++) {
-            N = Integer.parseInt(br.readLine());
-            snail();
-            System.out.println("#" + tc);
-
-            for (int x = 0; x < N; x++) {
-                for (int y = 0; y < N; y++) {
-                    System.out.print(graph[x][y] + " ");
-                }
-                System.out.println();
-            }
-        }
-    }
-}
-
-class Pair {
-    int x, y;
-    Pair(int x, int y) {
-        this.x = x;
-        this.y = y;
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/SWEA_2027.java b/JAVA_2021/src/SWEA/SWEA_2027.java
deleted file mode 100644
index 774da9a..0000000
--- a/JAVA_2021/src/SWEA/SWEA_2027.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package SWEA;
-
-public class SWEA_2027 {
-    public static void main(String[] args) {
-        for (int i = 0; i < 5; i++) {
-            for (int j = 0; j < 5; j++) {
-                if (i == j) {
-                    System.out.print("#");
-                } else {
-                    System.out.print("+");
-                }
-            }
-            System.out.println();
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/SWEA_9229.java b/JAVA_2021/src/SWEA/SWEA_9229.java
deleted file mode 100644
index c78336e..0000000
--- a/JAVA_2021/src/SWEA/SWEA_9229.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package SWEA;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class SWEA_9229 {
-    private static int N, M;
-    private static int[] arr;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc < T+1; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            N = Integer.parseInt(st.nextToken());
-            M = Integer.parseInt(st.nextToken());
-            arr =  new int[N];
-
-            st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < N; i++) {
-                arr[i] = Integer.parseInt(st.nextToken());
-            }
-
-            int ans = -1;
-            for (int i = 0; i < N; i++) {
-                for (int j = i + 1; j < N; j++) {
-                    if (arr[i] + arr[j] <= M) {
-                        ans = Math.max(ans, arr[i] + arr[j]);
-                    }
-                }
-            }
-            bw.write("#" + tc + " " + ans + "\n");
-        }
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/Solution_1208.java b/JAVA_2021/src/SWEA/Solution_1208.java
deleted file mode 100644
index fe98c2a..0000000
--- a/JAVA_2021/src/SWEA/Solution_1208.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class Solution_1208 {
-    private static int[] ans = new int[10];
-
-    public static void main(String[] args) throws Exception {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        for (int tc = 0; tc < 10; tc++) {
-            int[] arr = new int[100];
-            int N = Integer.parseInt(br.readLine());
-
-            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-            for (int i = 0; i < 100; i++){
-                arr[i] = Integer.parseInt(st.nextToken()); // 상자값 입력
-            }
-
-
-            Arrays.sort(arr);
-            for (int i = 0; i < N; i++) {
-                arr[0]++;
-                arr[99]--;
-                Arrays.sort(arr);
-            }
-            ans[tc] = arr[99] - arr[0];
-
-        }
-
-        for (int i = 0; i < 10; i++) {
-            System.out.println("#" + (i + 1) + " " + ans[i]);
-        }
-
-    }// main
-}// class-end
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/Solution_1210.java b/JAVA_2021/src/SWEA/Solution_1210.java
deleted file mode 100644
index aff7c07..0000000
--- a/JAVA_2021/src/SWEA/Solution_1210.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package SWEA;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.BufferedReader;
-import java.util.Queue;
-import java.util.LinkedList;
-
-public class Solution_1210 {
-    private static int[][] graph;
-    private static int[] dx = {0, 0, -1};
-    private static int[] dy = {-1, 1, 0};
-
-    private static class Pair {
-        int x;
-        int y;
-
-        Pair(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-
-    public static void main(String args[]) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        for(int tc = 1; tc <= 10; tc++) {
-            int T = Integer.parseInt(br.readLine());
-            graph = new int[100][100];
-            Pair c = null;
-
-            for(int i=0; i<100; i++) {
-                String[] input = br.readLine().split(" ");
-
-                for(int j=0; j<100; j++) {
-                    graph[i][j] = Integer.parseInt(input[j]);
-
-                    if(graph[i][j]==2)
-                        c = new Pair(i, j);
-                }
-            }
-            bfs(T, c);
-        }
-    }
-
-    public static void bfs(int T, Pair end) {
-        Queue<Pair> queue = new LinkedList<>();
-        boolean[][] visited = new boolean[100][100];
-
-        visited[end.x][end.y] = true;
-        queue.add(new Pair(end.x, end.y));
-
-        while(!queue.isEmpty()) {
-            Pair tmp = queue.poll();
-
-            if(tmp.x==0) {
-                System.out.println("#"+T+" "+tmp.y);
-                break;
-            }
-
-            for(int i=0; i<3; i++) {
-                int nx = tmp.x+dx[i];
-                int ny = tmp.y+dy[i];
-
-                if(nx<0 || nx>=100 || ny<0 || ny>=100 || graph[nx][ny]==0 || visited[nx][ny]) continue;
-
-                visited[nx][ny] = true;
-
-                queue.add(new Pair(nx, ny));
-
-                break;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/Solution_1218.java b/JAVA_2021/src/SWEA/Solution_1218.java
deleted file mode 100644
index d7af14b..0000000
--- a/JAVA_2021/src/SWEA/Solution_1218.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Stack;
-
-public class Solution_1218 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        for (int tc = 1; tc < 11; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            String str = br.readLine();
-            Stack<Character> stack = new Stack<>();
-            int ans = 0;
-
-            for (int i = 0; i < str.length(); i++) {
-                char c = str.charAt(i);
-
-                if (c == ')' && stack.peek() == '(') stack.pop();
-                else if (c == ']' && stack.peek() == '[') stack.pop();
-                else if (c == '>' && stack.peek() == '<') stack.pop();
-                else if (c == '}' && stack.peek() == '{') stack.pop();
-                else {
-                    stack.push(c);
-                }
-            }
-            if (stack.isEmpty()) ans = 1;
-            else ans = 0;
-
-            System.out.println("#" + tc + " " + ans);
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1223.java b/JAVA_2021/src/SWEA/Solution_1223.java
deleted file mode 100644
index 1d85883..0000000
--- a/JAVA_2021/src/SWEA/Solution_1223.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Stack;
-
-public class Solution_1223 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        for (int tc = 0; tc <= 10; tc++) {
-
-            int N = Integer.parseInt(br.readLine());
-            Stack<Character> op_store = new Stack<>();
-            String line = br.readLine();
-            String postFix = "";
-
-            for (int i = 0; i < N; i++) {
-                if (line.charAt(i) != '+' && line.charAt(i) != '*') {
-                    postFix += line.charAt(i);
-                } else {
-                    if (line.charAt(i) == '*') {
-                        op_store.push(line.charAt(i));
-                    } else {
-                        do {
-                            if (op_store.isEmpty()) break;
-                            postFix += op_store.pop();
-                        } while (!op_store.isEmpty() && op_store.peek() != '+');
-                        op_store.push(line.charAt(i));
-                    }
-                }
-            }
-
-            while (!op_store.isEmpty()) postFix += op_store.pop();
-
-            Stack<Integer> op = new Stack<>();
-            for (int i =0; i < postFix.length(); i++) {
-                if (postFix.charAt(i) != '+' && postFix.charAt(i) != '*') {
-                    op.push(postFix.charAt(i) - '0');
-                } else {
-                    int op1 = op.pop();
-                    int op2 = op.pop();
-                    char operator = postFix.charAt(i);
-                    switch (operator) {
-                        case '*':
-                            int tmp1 = op1 * op2;
-                            op.push(tmp1);
-                            break;
-                        case '+':
-                            int tmp2 = op1 + op2;
-                            op.push(tmp2);
-                            break;
-                    }
-                }
-            }
-            System.out.println("#" + tc + 1 + " " + op.peek());
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1225.java b/JAVA_2021/src/SWEA/Solution_1225.java
deleted file mode 100644
index 6cc945b..0000000
--- a/JAVA_2021/src/SWEA/Solution_1225.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class Solution_1225 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        for (int tc = 1; tc <= 10; tc++) {
-            int N = Integer.parseInt(br.readLine());
-
-            Queue<Integer> arr = new LinkedList<>();
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < 8; i++) {
-                arr.offer(Integer.parseInt(st.nextToken()));
-            }
-
-            outer:
-            while (true) {
-                for (int i = 1; i <= 5; i++) {
-                    int front = arr.poll();
-                    front -= i;
-                    if (front < 1) front = 0;
-                    arr.offer(front);
-                    if (front == 0) break outer;
-                }
-            }
-
-            System.out.print("#" + N + " ");
-            while (!arr.isEmpty()) {
-                System.out.print(arr.poll() + " ");
-            }
-            System.out.println();
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1228.java b/JAVA_2021/src/SWEA/Solution_1228.java
deleted file mode 100644
index b415bd0..0000000
--- a/JAVA_2021/src/SWEA/Solution_1228.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package SWEA;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class Solution_1228 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-
-        for (int tc = 1; tc < 11; tc++) {
-            int n = Integer.parseInt(br.readLine());
-            ArrayList<Integer> list = new ArrayList<>();
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < n; i++) {
-                list.add(Integer.parseInt(st.nextToken()));
-            }
-
-            int k = Integer.parseInt(br.readLine());
-            int cnt = 0;
-            st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < k; i++) {
-                String trash = st.nextToken();
-                int x = Integer.parseInt(st.nextToken());
-                int y = Integer.parseInt(st.nextToken());
-
-                for (int j = 0 ; j < y; j++) {
-                    list.add(x, Integer.parseInt(st.nextToken()));
-                    x++;
-                }
-                cnt++;
-            }
-            bw.write("#" + tc + " ");
-            for (int i =0 ; i < 10; i++) {
-                bw.write(list.get(i) + " ");
-            }
-            bw.write("\n");
-        }
-        bw.flush();
-        bw.close();
-        br.close();
-    }
-
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1233.java b/JAVA_2021/src/SWEA/Solution_1233.java
deleted file mode 100644
index b185ad8..0000000
--- a/JAVA_2021/src/SWEA/Solution_1233.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solution_1233 {
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        for (int tc = 1; tc <= 10; tc++) {
-            int Size = Integer.parseInt(br.readLine());
-            inOrder[] v = new inOrder[Size + 1];
-
-            for (int i = 0; i <= Size; i++) v[i] = new inOrder();
-            for (int i = 1; i <= Size; i++) {
-               String s = br.readLine();
-               int len = s.split(" ").length;
-
-                v[i].num = Integer.parseInt(s.split(" ")[0]); // 안쓰는 데이터
-                v[i].op = s.split(" ")[1];
-                if (len == 4) {
-                    v[i].lNode = Integer.parseInt(s.split(" ")[2]); // 이 문제에서는 안씀
-                    v[i].rNode = Integer.parseInt(s.split(" ")[3]); // 자식노드를 이용하는 문제 아니기에
-                } else if (len == 3) {
-                    v[i].lNode = Integer.parseInt(s.split(" ")[2]);
-                }
-            }
-
-            boolean flag = true;
-            for (int i = 1; i<= Size; i++) {
-                if ((v[i].lNode == -1) || v[i].rNode == -1) {
-                    if ((v[i].op).equals("+") || (v[i].op).equals("-") || (v[i].op).equals("*") || (v[i].op).equals("/")) {
-                        flag = false;
-                        System.out.println("#" + tc + " 0");
-                        break;
-                    }
-                }
-            }
-            if(flag) System.out.println("#" + tc + " 1");
-        }
-    }
-}
-
-class inOrder {
-    int num;
-    String op;
-    int lNode = -1;
-    int rNode = -1;
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1238.java b/JAVA_2021/src/SWEA/Solution_1238.java
deleted file mode 100644
index cbf0dc1..0000000
--- a/JAVA_2021/src/SWEA/Solution_1238.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-public class Solution_1238 {
-    private static LinkedList<Integer>[] list;
-
-    private static int bfs(int start) {
-        int lastCNT = -123456789;
-        int lastNode = -123456789;
-        boolean[] visited = new boolean[101];
-
-        Queue<Node> queue = new LinkedList<>();
-        queue.offer(new Node(start, 0));
-        visited[start] = true;
-
-        while (!queue.isEmpty()) {
-            Node q = queue.poll();
-            int now = q.now;
-            int nowCNT = q.cnt;
-
-            if (lastCNT == nowCNT && lastNode <= now) {
-                lastNode = now;
-            } else if (lastCNT < nowCNT) {
-                lastCNT = nowCNT;
-                lastNode = now;
-            }
-
-            for (int i = 0 ; i < list[now].size(); i++) {
-                int next = list[now].get(i);
-                if (!visited[next]) {
-                    visited[next] = true;
-                    queue.offer(new Node(next, nowCNT + 1));
-                }
-            }
-        }
-        return lastNode;
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-
-        for (int tc =1; tc <= 10; tc++) {
-            String[] line = br.readLine().split(" ");
-            int n = Integer.parseInt(line[0]);
-            int startNode = Integer.parseInt(line[1]);
-
-            list = new LinkedList[101];
-            Set<String> set = new HashSet<>();
-
-            for (int i = 0 ; i < 101; i++) {
-                list[i] = new LinkedList<>();
-            }
-
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            while (st.hasMoreTokens()) {
-                int from = Integer.parseInt(st.nextToken());
-                int to = Integer.parseInt(st.nextToken());
-                String token = from + " " + to;
-                set.add(token);
-            }
-
-            for (String e: set) {
-                String[] tmp = e.split(" ");
-                list[Integer.parseInt(tmp[0])].add(Integer.parseInt(tmp[1]));
-            }
-
-            sb.append("#").append(tc).append(" ").append(bfs(startNode)).append("\n");
-        }
-        System.out.print(sb.toString());
-        br.close();
-    }
-
-    private static class Node{
-        int now, cnt;
-
-        public Node(int now, int cnt) {
-            this.now = now;
-            this.cnt = cnt;
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1238_2.java b/JAVA_2021/src/SWEA/Solution_1238_2.java
deleted file mode 100644
index 1295240..0000000
--- a/JAVA_2021/src/SWEA/Solution_1238_2.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.*;
-
-class Solution_1238_2 {
-    private static LinkedList<Integer>[] list;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        for(int t = 1; t <= 10; t++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            Set<String> set = new HashSet<>();
-
-            int n = Integer.parseInt(st.nextToken());
-            int start = Integer.parseInt(st.nextToken());
-
-            list = new LinkedList[101];
-
-            for (int i = 0; i < 101; i++) list[i] = new LinkedList<>();
-
-            st = new StringTokenizer(br.readLine());
-            while (st.hasMoreTokens()) {
-                int from = Integer.parseInt(st.nextToken());
-                int to = Integer.parseInt(st.nextToken());
-                String token = from + " " + to;
-                if (!set.contains(token)) set.add(token);
-            }
-
-            for (String e : set) {
-                String[] tmp = e.split(" ");
-                list[Integer.parseInt(tmp[0])].add(Integer.parseInt(tmp[1]));
-            }
-
-            System.out.printf("#%d %d\n", t, bfs(start));
-        }
-    }
-
-    private static int bfs(int start) {
-        int lastTime = -1;
-        int lastTimeNode = -1;
-        boolean[] visit = new boolean[101];
-
-        Queue<Node> queue = new LinkedList<>();
-        queue.offer(new Node(start, 0));
-        visit[start] = true;
-
-        while(!queue.isEmpty()) {
-            int now = queue.peek().now;
-            int nowTime = queue.peek().cost;
-            queue.poll();
-
-            if(lastTime == nowTime && lastTimeNode < now) lastTimeNode = now;
-            else if(lastTime < nowTime) {
-                lastTime = nowTime;
-                lastTimeNode = now;
-            }
-
-            for(int i = 0 ; i < list[now].size(); i++) {
-                int next = list[now].get(i);
-                if(!visit[next]) {
-                    visit[next] = true;
-                    queue.offer(new Node(next, nowTime + 1));
-                }
-            }
-        }
-
-        return lastTimeNode;
-    }
-
-    private static class Node {
-        int now, cost;
-
-        public Node(int now, int cost) {
-            this.now = now;
-            this.cost = cost;
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/Solution_1247.java b/JAVA_2021/src/SWEA/Solution_1247.java
deleted file mode 100644
index d95a593..0000000
--- a/JAVA_2021/src/SWEA/Solution_1247.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_1247 {
-    private static int T, N, ans;
-    private static boolean[] visited;
-    private static Point home, company, customer[];
-
-    private static void Permutation(int depth, Point p, int dist) {
-        if (depth == N) {
-            dist += Math.abs(p.x - home.x) + Math.abs(p.y - home.y);
-            ans = Math.min(ans, dist);
-        }
-        if (dist >= ans) return;
-
-        for (int i = 0; i < N; i++) {
-            if(!visited[i]) {
-                visited[i] = true;
-                Permutation(depth + 1, customer[i], dist + Math.abs(p.x - customer[i].x) + Math.abs(p.y - customer[i].y));
-                visited[i] = false;
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-            StringTokenizer st = new StringTokenizer(br.readLine(), " ");
-
-            home = new Point(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
-            company = new Point(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
-            customer = new Point[N];
-            for (int i = 0; i < N; i++) {
-                customer[i] = new Point(Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()));
-            }
-
-            visited = new boolean[N];
-            ans = 123456789;
-
-            Permutation(0, company, 0);
-
-            System.out.println("#" + tc + " " + ans);
-
-        }
-        br.close();
-    }
-
-    static class Point {
-        int x, y;
-
-        public Point(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
-
diff --git a/JAVA_2021/src/SWEA/Solution_1251.java b/JAVA_2021/src/SWEA/Solution_1251.java
deleted file mode 100644
index 104acaa..0000000
--- a/JAVA_2021/src/SWEA/Solution_1251.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-
-public class Solution_1251 {
-    private static int N;
-    private static double E;
-    private static int[] parent;
-    private static Node[] island;
-
-    private static int find(int x) {
-        if (parent[x] == x) return x;
-        return parent[x] = find(parent[x]);
-    }
-
-    private static void union(int x, int y) {
-        x = find(x);
-        y = find(y);
-        if (x != y) parent[y] = x;
-    }
-
-    private static double calc(long x, long y, long dx, long dy) {
-        return E * Math.pow(Math.sqrt(Math.pow(dx - x, 2) + Math.pow(dy - y, 2 )), 2);
-    } // E * L ^ 2
-
-    private static boolean isSameParent(int x, int y) {
-        x = find(x);
-        y = find(y);
-        if (x != y) return false;
-        return true;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-
-            island = new Node[N];
-            String[] tmp = br.readLine().split(" ");
-            for (int i = 0 ; i < N; i++) { // x좌표
-                island[i] = new Node(Integer.parseInt(tmp[i]), 0, 0);
-            }
-            tmp = br.readLine().split(" ");
-            for (int i = 0 ; i < N; i++) { // y좌표
-                island[i].y = Integer.parseInt(tmp[i]);
-            }
-            E = Double.parseDouble(br.readLine()); // 환경 부담 세율
-
-            ArrayList<Node> weights = new ArrayList<>();
-            for (int i = 0 ; i < N - 1; i++) { // 모든 점들과 각각의 weight 구하기
-                for (int j = i + 1; j < N; j++) {
-                    weights.add(new Node(i, j, calc(island[i].x, island[i].y, island[j].x, island[j].y)));
-                }
-            }
-
-            Collections.sort(weights, new Comparator<Node>() { // 크루스칼 알고리즘을 위해 weight 기준으로 정렬
-                @Override
-                public int compare(Node o1, Node o2) {
-                    if (o1.weight < o2.weight) {
-                        return -1;
-                    } else if (o1.weight > o2.weight) {
-                        return 1;
-                    }
-                    return 0;
-                }
-            });
-
-            parent = new int[N]; // 유니온 파인드를 쓰기 위해 parent 배열 초기화
-            for (int i = 0 ; i < N; i++) {
-                parent[i] = i;
-            }
-
-            double ans = 0.0;
-            for (int i = 0; i < weights.size(); i++) {
-                if (!isSameParent(weights.get(i).x, weights.get(i).y)) { // 같은 부모인지 확인, 부모가 같지않다면 연결되어 있지 않으므로 union 필요
-                    union(weights.get(i).x, weights.get(i).y); // union
-                    ans = ans + weights.get(i).weight; // weight
-                }
-            }
-            System.out.format("#%d %.0f\n", tc, ans);
-        } // tc end
-        br.close();
-    } // psvm end
-
-    private static class Node{
-        int x, y;
-        double weight;
-
-        public Node(int x, int y, double weight) {
-            this.x = x;
-            this.y = y;
-            this.weight = weight;
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1251_2.java b/JAVA_2021/src/SWEA/Solution_1251_2.java
deleted file mode 100644
index 28b2918..0000000
--- a/JAVA_2021/src/SWEA/Solution_1251_2.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class Solution_1251_2 {
-
-    private static int N;
-    private static double E;
-    private static long[][] graph;
-    private static StringTokenizer st;
-    private static BufferedReader br;
-
-
-    private static void Solution() throws IOException {
-        br = new BufferedReader(new InputStreamReader(System.in));
-        int TC = Integer.parseInt(br.readLine());
-
-        for (int t = 1; t <= TC; t++) {
-            N = Integer.parseInt(br.readLine());
-
-            int x[] = new int[N];
-            st = new StringTokenizer(br.readLine());
-            for (int i = 0 ; i < N; i++) {
-                x[i] = Integer.parseInt(st.nextToken());
-            }
-
-            int y[] = new int[N];
-            st = new StringTokenizer(br.readLine());
-            for (int i = 0 ; i < N; i++) {
-                y[i] = Integer.parseInt(st.nextToken());
-            }
-
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0 ; j < N; j++) {
-                    graph[i][j] = graph[j][i] = getDist(x[i], x[j], y[i], y[j]);
-                }
-            }
-            E = Double.parseDouble(br.readLine());
-            System.out.println("#" + t + " " + makeMST());
-        }
-    }
-
-    private static long makeMST() {
-        long[] minEdge = new long[N];
-        boolean[] visited = new boolean[N];
-
-        Arrays.fill(minEdge, Integer.MAX_VALUE);
-        minEdge[0] = 0;
-        long result = 0; // 최소 신장트리 비용
-        int cnt = 0; // 정점 갯수
-
-        while (true) {
-            // 신장 트리의 포함되지 않은 정점 중 최소 간선비용의 정점선택
-            long min = Integer.MAX_VALUE;
-            int minNo = 0;
-            for (int i = 0 ; i < N; i++) {
-                if (!visited[i] && min > minEdge[i]) {
-                    minNo = i;
-                    min = minEdge[i];
-                }
-            }
-            visited[minNo] = true; // 정점이 신장트리에 포함됨
-            result += min; // 비용에도 가중치 +
-
-            if (++cnt == N) break; // cnt도 누적되다 N개에 도달하면 while 빠져나옴
-
-            for (int i = 0; i < N; i++) {
-                if (!visited[i] && minEdge[i] > graph[minNo][i]) {
-                    minEdge[i] = graph[minNo][i];
-                }
-            } // 전체중 최소를 구하려면 하나씩 하나씩 비교해서 최솟값을 구해야 한다.
-        }
-        return result;
-    }
-
-
-    private static long getDist(int x1, int x2, int y1, int y2) {
-        return (long) Math.pow(x1 - x2, 2) + (long) Math.pow(y1 - y2, 2);
-    }
-
-    public static void main(String[] args) throws IOException{
-
-        Solution();
-    }
-
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1486.java b/JAVA_2021/src/SWEA/Solution_1486.java
deleted file mode 100644
index 765e322..0000000
--- a/JAVA_2021/src/SWEA/Solution_1486.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_1486 {
-    private static int N, B, min_height;
-    private static int[] arr;
-
-    private static void solution(int idx, int height) { // 부분집합
-        if (B <= height && height < min_height) {
-            min_height = height;
-        }
-        if (idx == N) return;
-        solution(idx + 1, height);
-        solution(idx + 1, height + arr[idx]);
-
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            String[] line = br.readLine().split(" ");
-            N = Integer.parseInt(line[0]);
-            B = Integer.parseInt(line[1]);
-            min_height = 123456789;
-
-            arr = new int[N];
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0 ; i < N; i++) {
-                arr[i] = Integer.parseInt(st.nextToken());
-            }
-
-            solution(0, 0);
-            sb.append("#").append(tc).append(" ").append(min_height - B).append("\n");
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1767.java b/JAVA_2021/src/SWEA/Solution_1767.java
deleted file mode 100644
index 3cd5def..0000000
--- a/JAVA_2021/src/SWEA/Solution_1767.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class Solution_1767 {
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static int N, maxCore, coreNum, ans;
-    private static int[][] graph;
-    private static ArrayList<Pair> arr;
-
-    // 길이 체크
-    private static int wireChk (int x, int y, int i) {
-        int len = 0;
-        while (true) {
-            x += dx[i];
-            y += dy[i];
-
-            if (0 > x || x >= N || 0 > y || x >= N) {
-                return len;
-            } else if (graph[x][y] != 0) {
-                return 0;
-            }
-            len++;
-        }
-    }
-
-    // dfs 한방향으로만 가야되
-    private static void dfs(int idx, int cnt, int len) {
-        if (idx == coreNum) return;
-        if (maxCore > cnt + (coreNum - idx)) return;
-
-        if (cnt > maxCore) {
-            ans = len;
-            maxCore = cnt;
-        } else if (cnt == maxCore) {
-            ans = Math.min(ans, len);
-        }
-
-        Pair p  = arr.get(idx);
-        int x = p.x;
-        int y = p.y;
-
-        for (int i = 0; i < 4; i++) {
-
-            int wireLen = wireChk(x, y, i);
-            if (wireLen > 0) {
-                makeSet(x, y, i, 2);
-                dfs(i + 1, cnt + 1, len + wireLen);
-                makeSet(x, y, i, 0);
-            }
-        }
-
-    }
-
-    private static void makeSet (int x, int y, int i, int val) {
-        while (true) {
-            x += dx[i];
-            y += dy[i];
-            if (x < 0 || x >= N || y < 0 || y >= N) return;
-            graph[x][y] = val;
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-            graph = new int[N][N]; // 0 ~ 4 까지 가는 5X5 배열 생성
-            arr = new ArrayList<>();
-            coreNum = 0;
-            maxCore = 0;
-
-            for (int i = 0 ; i< N; i++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                for (int j = 0 ;j < N ; j++) {
-                    graph[i][j] = Integer.parseInt(st.nextToken());
-
-                    if (i == 0 || j == 0 || i == N - 1 || j == N - 1) { // 가장자리 스킵
-                        continue;
-                    } else if (graph[i][j] == 1) { // 코어가 몇 개인지 새주기 와 값 넣어 주기
-                        arr.add(new Pair(i, j));
-                        coreNum++;
-                    }
-                }
-            } // 입력 for 끝
-
-            dfs(0, 0, 0);
-            System.out.println("#" + tc + " " + ans);
-        } // tc 루프 끝
-        br.close();
-    }
-
-    static class Pair {
-        int x, y;
-
-        public Pair(int x, int y) {
-            this.x = x;
-            this.y = y;
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1861.java b/JAVA_2021/src/SWEA/Solution_1861.java
deleted file mode 100644
index 368aec2..0000000
--- a/JAVA_2021/src/SWEA/Solution_1861.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package SWEA;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class Solution_1861 {
-    private static int[][] graph;
-    private static int N, idx, ans;
-    private static int[] dx = {-1, 0, 1, 0};
-    private static int[] dy = {0, 1, 0, -1};
-
-    private static void dfs(int x, int y, int cnt, int start) {
-        for(int i = 0; i < 4; i++) {
-            int nx = x + dx[i];
-            int ny = y + dy[i];
-
-            if (0 <= nx && nx < N && 0 <= ny && ny < N) {
-                if ((graph[nx][ny] == graph[x][y] + 1)) {
-                    dfs(nx, ny, cnt + 1, start);
-                }
-            }
-        }
-
-        if(cnt > ans) { // 카운트 한 것이 기존의 값보다 많다면
-            ans = cnt; // 업데이트
-            idx = start; // 카운트 시작한 방번호도 업데이트
-        }
-        if(cnt == ans) { // 만약 방 갯수가 기존의 것과 같다면
-            idx = Math.min(idx, start); // 방번호가 작은 쪽으로 업데이트
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc < T + 1; tc++) {
-            N = Integer.parseInt(br.readLine());
-
-            graph = new int[N][N];
-            idx = 0;
-            ans = 0;
-
-            for (int i = 0; i < N; i++) {
-                StringTokenizer st =new StringTokenizer(br.readLine());
-                for (int j =0; j < N; j++) {
-                    graph[i][j] = Integer.parseInt(st.nextToken());
-                }
-            }
-
-            for (int i = 0; i < N; i++) {
-                for (int j = 0; j < N; j++) {
-                    dfs(i, j, 1, graph[i][j]);
-                }
-            }
-            bw.write("#" + tc + " " + idx + " " + ans + "\n");
-        }
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1868.java b/JAVA_2021/src/SWEA/Solution_1868.java
deleted file mode 100644
index 0cd97f6..0000000
--- a/JAVA_2021/src/SWEA/Solution_1868.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solution_1868 { // 파핑파핑 지뢰찾기
-    private static char[][] graph;
-    private static int[][] mineCNT;
-    private static int[] dx = {-1, 1, 0, 0, 1, 1, -1, -1}; // 8방
-    private static int[] dy = {0, 0, -1, 1, 1, -1, 1, -1};
-    private static int N, ans;
-
-    private static void click(int i, int j) {
-        int current = mineCNT[i][j];
-        mineCNT[i][j] = -1;
-
-        if (current == 0) {
-            for (int d = 0; d < 8; d++) {
-                int nx = i + dx[d];
-                int ny = j + dy[d];
-                if (0 <= nx && nx < N && 0 <= ny && ny < N) {
-                    if (graph[nx][ny] != '*' && mineCNT[nx][ny] != -1) {
-                        click(nx, ny);
-                    }
-                }
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        for (int tc = 1; tc <= T; tc ++){
-            N = Integer.parseInt(br.readLine());
-            graph = new char[N][N];
-            ans = 0;
-            mineCNT = new int[N][N];
-            for (int i = 0 ; i < N; i++) {
-                graph[i] = br.readLine().toCharArray();
-            } // 그래프 입력
-
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0 ; j < N; j++) {
-                    if (graph[i][j] == '.') {
-                        int cnt = 0;
-                        for (int d= 0; d < 8; d++) {
-                            int nx = i + dx[d];
-                            int ny = j + dy[d];
-                            if (0 <= nx && nx < N && 0 <= ny && ny < N) {
-                                if (graph[nx][ny] == '*') {
-                                    cnt++;
-                                }
-                            }
-                        }
-                        mineCNT[i][j] = cnt;
-                    }
-                }
-            } // 맵에 지뢰 갯수 세기
-
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0 ; j < N ;j ++) {
-                    if (mineCNT[i][j] == 0 && graph[i][j] != '*') {
-                        click(i, j);
-                        ans++;
-                    }
-                }
-            }
-
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0 ;j  < N ; j++) {
-                    if (mineCNT[i][j] > 0 && graph[i][j] != '*') {
-                        ans++;
-                    }
-                }
-            }
-            sb.append("#").append(tc).append(" ").append(ans).append("\n");
-        } // tc end
-        System.out.print(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1873.java b/JAVA_2021/src/SWEA/Solution_1873.java
deleted file mode 100644
index 548ee24..0000000
--- a/JAVA_2021/src/SWEA/Solution_1873.java
+++ /dev/null
@@ -1,148 +0,0 @@
-package SWEA;
-
-import java.io.*;
-
-public class Solution_1873 {
-    private static char[][] graph;
-    private static int H, W, x, y, dir;
-    private static int[] dx = {-1, 1, 0, 0}; // U D L R
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static boolean check(int x, int y) {
-        if  (x < 0 || x >= H || y < 0 || y >= W) return false;
-        return true;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            String[] a = br.readLine().split(" ");
-            H = Integer.parseInt(a[0]);
-            W = Integer.parseInt(a[1]);
-
-            graph = new char[H][W];
-
-            for (int i = 0; i < H; ++i) { // 그래프에 데이터 입력
-                graph[i] = br.readLine().toCharArray();
-            }
-
-            x = -12345;
-            y = -12345;
-            dir = -12345;
-
-            for (int i = 0; i < H; ++i) { // 그래프에서 탱크 위치, 바라보고 있는 방향 찾기
-                for (int j = 0; j < W; ++j) {
-                    char tank = graph[i][j];
-                    if (tank == '^') {
-                        x = i; y = j; dir = 0;
-                        break;
-                    } else if (tank == 'v') {
-                        x = i; y = j; dir = 1;
-                        break;
-                    } else if (tank == '<') {
-                        x = i; y = j; dir = 2;
-                        break;
-                    } else if (tank == '>') {
-                        x = i; y = j; dir = 3;
-                        break;
-                    }
-                }
-            }
-
-            graph[x][y] = '.'; // 탱크가 있는 현재 자리도 평지
-
-            int N = Integer.parseInt(br.readLine());
-            char[] cmd = br.readLine().toCharArray();
-
-            for (int i = 0 ; i < N; ++i) {
-                char command = cmd[i];
-                switch (command) {
-                    case 'S':
-                        int target_X = x;
-                        int target_Y = y;
-
-                        while (true) {
-                            target_X += dx[dir];
-                            target_Y += dy[dir];
-
-                            if (!check(target_X, target_Y)) break;
-
-                            char tmp = graph[target_X][target_Y];
-                            if (tmp == '#') break; // 강철벽은 못 깸
-                            if (tmp == '*') { // 벽돌벽이면
-                                graph[target_X][target_Y] = '.'; // 평지가 됨
-                                break;
-                            }
-                        }
-                        break;
-
-                    case 'U':
-                        dir = 0;
-                        int nX1 = x + dx[dir]; // 커맨드가 위일경우 탱크의 위쪽 좌표로 nX1, nY1 지정
-                        int nY1 = y + dy[dir];
-
-                        if (!check(nX1, nY1)) break; // 맵 밖이면 아무것도 안함
-                        if (graph[nX1][nY1] == '.') { // 탱크 위의 위치가 평지면
-                            x += dx[dir]; // 탱크 이동
-                            y += dy[dir];
-                        }
-                        break;
-
-                    case 'D':
-                        dir = 1;
-                        int nX2 = x + dx[dir];
-                        int nY2 = y + dy[dir];
-
-                        if (!check(nX2, nY2)) break;
-                        if (graph[nX2][nY2] == '.') {
-                            x += dx[dir];
-                            y += dy[dir];
-                        }
-                        break;
-
-                    case 'L':
-                        dir = 2;
-                        int nX3 = x + dx[dir];
-                        int nY3 = y + dy[dir];
-
-                        if (!check(nX3, nY3)) break;
-                        if (graph[nX3][nY3] == '.') {
-                            x += dx[dir];
-                            y += dy[dir];
-                        }
-                        break;
-
-                    case 'R':
-                        dir = 3;
-                        int nX4 = x + dx[dir];
-                        int nY4 = y + dy[dir];
-
-                        if (!check(nX4, nY4)) break;
-                        if (graph[nX4][nY4] == '.') {
-                            x += dx[dir];
-                            y += dy[dir];
-                        }
-                        break;
-                } // switch-case end
-            } // command for end
-
-            switch (dir) { // 탱크 머리 돌리기
-                case 0: graph[x][y] = '^'; break;
-                case 1: graph[x][y] = 'v'; break;
-                case 2: graph[x][y] = '<'; break;
-                case 3: graph[x][y] = '>'; break;
-            }
-
-            System.out.print("#" + tc + " ");
-            for (int i = 0 ; i < H; i++) {
-                for (int j = 0; j < W; j++) {
-                    System.out.print(graph[i][j]);
-                }
-                System.out.println();
-            }
-        } // tc end
-        br.close();
-    } // psvm end
-} // class end
diff --git a/JAVA_2021/src/SWEA/Solution_1940.java b/JAVA_2021/src/SWEA/Solution_1940.java
deleted file mode 100644
index 7adb9fa..0000000
--- a/JAVA_2021/src/SWEA/Solution_1940.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_1940 {
-    private static int status;
-    private static int accel;
-    private static int distance;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int T = Integer.parseInt(br.readLine());
-        for (int tc = 1; tc <= T; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            distance = 0;
-            accel = 0;
-
-            for (int i = 0; i < N; i++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                status = Integer.parseInt(st.nextToken());
-
-                switch (status) {
-                    case 1:
-                        int a = Integer.parseInt(st.nextToken());
-                        accel += a;
-                        distance += accel;
-                        break;
-                    case 2:
-                        int b = Integer.parseInt(st.nextToken());
-                        accel -= b;
-                        if (accel < 0) accel =0;
-                        distance += accel;
-                        break;
-                    case 0:
-                        distance += accel;
-                        break;
-                }
-            }
-            System.out.println("#" + tc + " " + distance);
-        }
-
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1949.java b/JAVA_2021/src/SWEA/Solution_1949.java
deleted file mode 100644
index d3f4b22..0000000
--- a/JAVA_2021/src/SWEA/Solution_1949.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_1949 {
-    private static int N, K, maxLen, maxHigh;
-    private static int[][] graph;
-    private static boolean[][] visited;
-    private static int[] dx = {-1 ,1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    private static void DFS(int x, int y, int h, int l, int cnt) {
-        for (int dir = 0; dir < 4; dir++) {
-            if (maxLen < l) maxLen = l;
-
-            int nx = x + dx[dir];
-            int ny = y + dy[dir];
-
-            if (0 <= nx && nx < N && 0 <= ny && ny < N && !visited[nx][ny]) {
-               if (h <= graph[nx][ny]) {
-                   if (cnt == 0) {
-                       if (h > graph[nx][ny] - K) {
-                           visited[nx][ny] = true;
-                           DFS(nx, ny, h - 1, l + 1, cnt + 1);
-                           visited[nx][ny] = false;
-                       }
-                   }
-               } else {
-                   visited[nx][ny] = true;
-                   DFS(nx, ny, graph[nx][ny], l + 1, cnt);
-                   visited[nx][ny] = false;
-               }
-            }
-        }
-    }
-
-    private static void Solution() {
-        for (int i = 0; i < N; i++) {
-            for (int j = 0 ;j  < N; j++) {
-                if (graph[i][j] == maxHigh) {
-                    visited[i][j] = true;
-                    DFS(i, j, maxHigh, 1, 0);
-                    visited[i][j] = false;
-                }
-            }
-        }
-    }
-
-    private static void input() throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            String[] line = br.readLine().split(" ");
-            N = Integer.parseInt(line[0]);
-            K = Integer.parseInt(line[1]);
-            maxLen = maxHigh = 0;
-            graph = new int[N][N];
-            visited = new boolean[N][N];
-
-            for (int i = 0 ; i < N; i++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                for (int j = 0; j < N; j++) {
-                    graph[i][j] = Integer.parseInt(st.nextToken());
-                    if (maxHigh < graph[i][j]) {
-                        maxHigh = graph[i][j];
-                    }
-                }
-            }
-            Solution();
-            sb.append("#").append(tc).append(" ").append(maxLen).append("\n");
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-
-    public static void main(String[] args) throws Exception {
-        input();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_1954.java b/JAVA_2021/src/SWEA/Solution_1954.java
deleted file mode 100644
index 476a36d..0000000
--- a/JAVA_2021/src/SWEA/Solution_1954.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solution_1954 {
-    private static int[] dx = {0, 1, 0, -1};
-    private static int[] dy = {1, 0, -1, 0};
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc < T + 1; tc++) {
-            int N = Integer.parseInt(br.readLine());
-
-            if (N == 1) {
-                System.out.println("#" + tc);
-                System.out.println(1);
-                continue;
-            }
-
-            int[][] graph = new int[N][N];
-
-            int x = 0;
-            int y = 0;
-            int dir = 0;
-
-            for (int i = 0; i < N * N; i++) {
-                graph[x][y] = i + 1;
-                x += dx[dir];
-                y += dy[dir];
-
-                if (x < 0 || x >= N || y < 0 || y >= N) {
-                    x -= dx[dir];
-                    y -= dy[dir];
-
-                    dir = (dir + 1) % 4;
-
-                    x += dx[dir];
-                    y += dy[dir];
-                }
-
-                if (graph[x][y] != 0) {
-                    x -= dx[dir];
-                    y -= dy[dir];
-
-                    dir = (dir + 1) % 4;
-
-                    x += dx[dir];
-                    y += dy[dir];
-                }
-            }
-            System.out.println("#" + tc);
-            for (int i = 0; i < N; i++) {
-                for (int j = 0; j < N; j++) {
-                    System.out.print(graph[i][j] + " ");
-                }
-                System.out.println();
-            }
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_2001.java b/JAVA_2021/src/SWEA/Solution_2001.java
deleted file mode 100644
index 23d825e..0000000
--- a/JAVA_2021/src/SWEA/Solution_2001.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_2001 {
-    private static int M;
-    private static int[][] arr;
-
-    private static int calc(int x, int y) {
-        int tmp = 0;
-        for (int i = x; i < x + M; i++) {
-            for (int j = y; j < y + M; j++) {
-                tmp += arr[i][j];
-            }
-        }
-        return tmp;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc =1; tc < T + 1; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int N = Integer.parseInt(st.nextToken());
-            M = Integer.parseInt(st.nextToken());
-            arr = new int[N][N];
-
-            for (int i =0 ; i < N; i++) {
-                String[] a = br.readLine().split(" ");
-                for (int j = 0; j < N; j++) {
-                    arr[i][j] = Integer.parseInt(a[j]);
-                }
-            }
-            int sum = 0;
-            for (int i = 0; i <= N - M; i++) {
-                for (int j = 0; j <= N - M; j++) {
-                    sum = Math.max(sum, calc(i, j));
-                }
-            }
-            System.out.println("#" + tc + " " + sum);
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_2805.java b/JAVA_2021/src/SWEA/Solution_2805.java
deleted file mode 100644
index 75fe542..0000000
--- a/JAVA_2021/src/SWEA/Solution_2805.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solution_2805 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            int[][] arr = new int[N][N];
-
-            for (int i = 0; i < N; i++) {
-                String s = br.readLine();
-                for (int j = 0; j < N; j++) {
-                    arr[i][j] = s.charAt(j) - '0';
-                }
-            }
-
-            int ans = 0;
-            for (int i = 0; i < N; i++) {
-                for (int j = Math.abs(N / 2 - i); j < N - Math.abs(N / 2 - i); j++) {
-                    ans += arr[i][j];
-                }
-            }
-            System.out.println("#" + tc + " " + ans);
-        }
-    }
-}
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/Solution_3234.java b/JAVA_2021/src/SWEA/Solution_3234.java
deleted file mode 100644
index 80291a7..0000000
--- a/JAVA_2021/src/SWEA/Solution_3234.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_3234 {
-
-    private static int N, ans;
-    private static int[] input, res;
-    private static boolean[] chk;
-
-    private static void Permutation(int depth) {
-        if (depth == N) {
-            check(0, 0, 0);
-            return;
-        }
-
-        for (int i = 0 ; i < N; i++) {
-            if (chk[i]) continue;
-            chk[i] = true;
-            res[depth] = input[i];
-            Permutation(depth + 1);
-            chk[i] = false;
-        }
-    }
-
-    private static void check(int idx, int sumLeft, int sumRight) {
-        if (idx == N) {
-            ans++;
-            return;
-        }
-        check(idx + 1, sumLeft + res[idx], sumRight);
-        if (sumRight + res[idx] <= sumLeft) check(idx + 1, sumLeft, sumRight + res[idx]);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-
-            input = new int[N];
-            chk = new boolean[N + 1];
-            res = new int[N];
-            ans = 0;
-
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < N; i++) {
-                input[i] = Integer.parseInt(st.nextToken());
-            }
-
-            Permutation(0);
-            System.out.println("#" + tc + " " + ans);
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_3238.java b/JAVA_2021/src/SWEA/Solution_3238.java
deleted file mode 100644
index 06e3f08..0000000
--- a/JAVA_2021/src/SWEA/Solution_3238.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-// 페르마의 소정리
-// a ^(p - 1) = 1 (mod p)
-// a ^(p - 2) = a ^-1 (mod p)
-// (r! (n - r)!) ^ (1234567891 - 2) = (r! (n - r)!) ^ -1
-
-// nCr = n! / r! (n - r)! = n! * (r! (n - r)!) ^-1
-
-public class Solution_3238 {
-    private static long n, r;
-    private static int MOD;
-
-    private static long fermat(long n, long r) {
-        long result = 1;
-        while (r > 0){
-            if ((r % 1) == 1) {
-                result *= n;
-                result %= MOD;
-            }
-            n *= n;
-            n %= MOD;
-            r /= 2;
-        }
-        return result;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        for (int tc = 1; tc <= T; tc++) {
-            String[] line = br.readLine().split(" ");
-            n = Long.parseLong(line[0]);
-            r = Long.parseLong(line[1]);
-            MOD = Integer.parseInt(line[2]);
-
-            long fac[] = new long[100000];
-            fac[0] = 1;
-
-            for (int i = 1; i <= MOD; i++) {
-                fac[i] = (fac[i - 1] * i) % MOD;
-            }
-            long result = 1;
-            while (n > 0 || r > 0) {
-                long a = n % MOD;
-                long b = r % MOD;
-
-                if (a < b) result = 0;
-                if (result == 0) break;
-
-                result *= fac[(int) a];
-                result %= MOD;
-                result *= fermat((fac[(int) b] * fac[(int) a - (int) b]) % MOD, MOD - 2);
-                result %= MOD;
-
-                n /= MOD;
-                r /= MOD;
-            }
-
-
-            sb.append("#").append(tc).append(" ").append(result).append("\n");
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_3289.java b/JAVA_2021/src/SWEA/Solution_3289.java
deleted file mode 100644
index bf15a0c..0000000
--- a/JAVA_2021/src/SWEA/Solution_3289.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_3289 {
-    private static int n, m;
-    private static int[] parent, rank;
-
-    private static int find(int x) {
-        if (parent[x] == x) return x;
-        return parent[x] = find(parent[x]);
-    }
-
-    private static void union(int a, int b) {
-        int fa = find(a);
-        int fb = find(b);
-
-        if (rank[fa] < rank[fb]) {
-            parent[fa] = fb;
-        } else {
-            parent[fb] = fa;
-            if (rank[fa] == rank[fb]) {
-                rank[fa]++;
-            }
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++){
-            sb.append("#").append(tc).append(" ");
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            n = Integer.parseInt(st.nextToken());
-            m = Integer.parseInt(st.nextToken());
-            parent = new int[n + 1];
-            rank = new int[n + 1];
-            for (int i = 1; i < n + 1; i++) {
-                parent[i] = i;
-                rank[i] = 0;
-            }
-
-            for (int i = 0 ; i < m; i++) {
-                st = new StringTokenizer(br.readLine());
-                int cmd = Integer.parseInt(st.nextToken());
-                int a = Integer.parseInt(st.nextToken());
-                int b = Integer.parseInt(st.nextToken());
-
-                if (cmd == 0) { // 유니온
-                    union(a, b);
-                } else if (cmd == 1) { // 파인드
-                    int f_a = find(a);
-                    int f_b = find(b);
-                    sb.append((f_a == f_b) ? 1 : 0);
-                }
-            }
-            sb.append("\n");
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_3307.java b/JAVA_2021/src/SWEA/Solution_3307.java
deleted file mode 100644
index 43427de..0000000
--- a/JAVA_2021/src/SWEA/Solution_3307.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_3307 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-        int ans=  0;
-
-        for (int tc =1; tc <= T; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            int[] arr = new int[N];
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0 ;i  < N; i++) {
-                arr[i] = Integer.parseInt(st.nextToken());
-            }
-
-            int[] dp = new int[N];
-
-            for (int i = 0; i < N; i++) {
-                dp[i] = 1;
-
-                for (int j = 0 ; j < i; j++) {
-                    if (arr[i] > arr[j]) {
-                        dp[i] = Math.max(dp[i], dp[j] + 1);
-                    }
-                }
-            }
-            for (int i = 0  ; i <N; i++) {
-                ans = Math.max(ans, dp[i]);
-            }
-            System.out.println("#" + tc + " " + ans);
-            ans = 0;
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_3499.java b/JAVA_2021/src/SWEA/Solution_3499.java
deleted file mode 100644
index e2dedc0..0000000
--- a/JAVA_2021/src/SWEA/Solution_3499.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package SWEA;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class Solution_3499 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc= 1; tc < T + 1; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            String[] a;
-
-            if (N % 2 == 1) {
-                a = new String[N / 2 + 1];
-            } else {
-                a = new String[N / 2];
-            }
-
-            String[] b = new String[N / 2];
-
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < a.length; i++) {
-                a[i] = st.nextToken();
-            }
-
-            for (int i = 0; i < b.length; i++) {
-                b[i] = st.nextToken();
-            }
-
-            bw.write("#" + tc + " ");
-            for (int i = 0; i < b.length; i++) {
-                bw.write(a[i] + " " + b[i] + " ");
-            }
-            if (N % 2 == 1) {
-                bw.write(a[N / 2]);
-            }
-            bw.write("\n");
-        }
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_4012.java b/JAVA_2021/src/SWEA/Solution_4012.java
deleted file mode 100644
index 7347b56..0000000
--- a/JAVA_2021/src/SWEA/Solution_4012.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class Solution_4012 {
-    private static int[][] graph;
-    private static boolean[] visited;
-    private static int N, ans;
-
-    private static void Recursive(int depth, int start) {
-        if (N / 2 == depth) {
-            checkMin();
-            return;
-        }
-
-        for (int i = start; i < N; i++) {
-            if (visited[i]) continue;
-            visited[i] = true;
-            Recursive(depth + 1, i + 1); // start : i
-            visited[i] = false;
-        }
-    }
-
-    private static void checkMin() {
-        ArrayList<Integer> A = new ArrayList<>();
-        ArrayList<Integer> B = new ArrayList<>();
-
-        for (int i = 0; i < N; i++) {
-            if (visited[i]) {
-                A.add(i);
-            } else {
-                B.add(i);
-            }
-        }
-        ans = Math.min(Math.abs(addSum(A) - addSum(B)), ans);
-    }
-
-    private static int addSum(ArrayList<Integer> tmp) {
-        int sum = 0;
-
-        for (int i = 0; i < tmp.size(); i++) {
-            for (int j = i; j < tmp.size(); j++) {
-                sum += graph[tmp.get(i)][tmp.get(j)] + graph[tmp.get(j)][tmp.get(i)];
-            }
-        }
-        return sum;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-            graph = new int[N][N];
-            visited = new boolean[N];
-            ans = 1234567890;
-
-            for (int i = 0 ; i < N; i++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                for (int j = 0; j < N; j++) {
-                    graph[i][j] = Integer.parseInt(st.nextToken());
-                }
-            }
-
-            Recursive(0, 0);
-            System.out.println("#" + tc + " " +ans);
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_5215.java b/JAVA_2021/src/SWEA/Solution_5215.java
deleted file mode 100644
index 806fa53..0000000
--- a/JAVA_2021/src/SWEA/Solution_5215.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package SWEA;
-
-import java.io.*;
-import java.util.StringTokenizer;
-
-public class Solution_5215 {
-    private static int[] score;
-    private static int[] calorie;
-    private static int N, L;
-    private static int max;
-
-
-    private static void hambug(int cnt, int sum, int cal) {
-        if (cal > L) return;
-        if (cnt == N) {
-            if (cal <= L) {
-                if (max < sum) {
-                    max = sum;
-                }
-            }
-            return;
-        }
-        hambug(cnt + 1, sum + score[cnt], cal + calorie[cnt]);
-        hambug(cnt + 1, sum, cal);
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc < T + 1; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            max = 0;
-            N = Integer.parseInt(st.nextToken());
-            L = Integer.parseInt(st.nextToken());
-
-            score = new int[N];
-            calorie = new int[N];
-
-            for (int i = 0; i < N; i++) {
-                st = new StringTokenizer(br.readLine());
-                score[i] = Integer.parseInt(st.nextToken());
-                calorie[i] = Integer.parseInt(st.nextToken());
-            }
-            hambug(0, 0, 0);
-            bw.write("#" + tc + " " + max + "\n");
-        } // end tc
-        br.close();
-        bw.flush();
-        bw.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_5515.java b/JAVA_2021/src/SWEA/Solution_5515.java
deleted file mode 100644
index c9aeef9..0000000
--- a/JAVA_2021/src/SWEA/Solution_5515.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_5515 {
-    private static int m, d, diff, ans;
-    private static int[] days = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        for (int tc = 1; tc <= T; tc++) {
-                diff = 0;
-                ans = 4;
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            m = Integer.parseInt(st.nextToken());
-            d = Integer.parseInt(st.nextToken());
-
-            if (m == 1) diff = d - 1;
-            else {
-                for (int i = 2; i < m; i++) {
-                    diff += days[i];
-                }
-                diff = diff + 30 + d;
-            }
-            int tmp = diff % 7;
-            if (tmp <= 2) {
-                ans += tmp;
-            } else {
-                ans = ans + tmp - 7;
-            }
-            sb.append("#").append(tc).append(" ").append(ans).append("\n");
-        }
-        System.out.print(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_5607.java b/JAVA_2021/src/SWEA/Solution_5607.java
deleted file mode 100644
index 66f2139..0000000
--- a/JAVA_2021/src/SWEA/Solution_5607.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-// 페르마의 소정리
-// a ^(p - 1) = 1 (mod p)
-// a ^(p - 2) = a ^-1 (mod p)
-// (r! (n - r)!) ^ (1234567891 - 2) = (r! (n - r)!) ^ -1
-
-// nCr = n! / r! (n - r)! = n! * (r! (n - r)!) ^-1
-
-public class Solution_5607 {
-    private static final int MOD = 1234567891;
-
-    private static long fermat(long n, int x) {
-        if (x == 0) return 1;
-        long tmp = fermat(n, x/2);
-        long result = (tmp * tmp) % MOD;
-        if (x % 2 ==0){
-            return result;
-        } else {
-            return (result * n) % MOD;
-        }
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        for (int tc = 1; tc <= T; tc++) {
-            String[] line = br.readLine().split(" ");
-            int n = Integer.parseInt(line[0]);
-            int r = Integer.parseInt(line[1]);
-
-            long fac[] = new long[n + 1];
-            fac[0] = 1;
-
-            for (int i = 1; i <= n; i++) {
-                fac[i] = (fac[i - 1] * i) % MOD;
-            }
-
-            long bottom = (fac[r] * (fac[n - r])) % MOD;
-            long reBottom = fermat(bottom, MOD - 2);
-
-
-            sb.append("#").append(tc).append(" ").append((fac[n] * reBottom) % MOD).append("\n");
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_5643.java b/JAVA_2021/src/SWEA/Solution_5643.java
deleted file mode 100644
index 7687436..0000000
--- a/JAVA_2021/src/SWEA/Solution_5643.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.StringTokenizer;
-
-public class Solution_5643 { // 키순서
-    private static int N, M, from_, to_;
-    private static final int INF = (int) 1e9;
-    private static int[][] path;
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int T = Integer.parseInt(br.readLine());
-        for (int tc = 1; tc <= T; tc++) {
-            N = Integer.parseInt(br.readLine());
-            M = Integer.parseInt(br.readLine());
-            path = new int[N][N];
-
-            for (int i = 0; i < N; i++) {
-                for (int j = 0; j < N; j++) {
-                    path[i][j] = INF;
-                }
-            }
-
-            for (int i = 0 ; i < M;i ++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                from_ = Integer.parseInt(st.nextToken());
-                to_ = Integer.parseInt(st.nextToken());
-                path[from_ - 1][to_ - 1] = 1;
-            }
-
-
-            for (int k = 0; k < N; k++) {
-                for (int i = 0 ; i  < N; i++) {
-                    for (int j = 0 ; j < N; j++) {
-                        if (path[i][k] + path[k][j] == 2) {
-                            path[i][j] = 1;
-                        }
-                    }
-                }
-            }
-
-            int[] answer = new int[N];
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0 ; j < N; j++) {
-                    if (path[i][j] == 1) {
-                        answer[i]++;
-                        answer[j]++;
-                    }
-                }
-            }
-
-            int tmp = 0;
-            for (int i = 0 ; i < N; i++) {
-                if (answer[i] == (N - 1)) {
-                    tmp++;
-                }
-            }
-            sb.append("#").append(tc).append(" ").append(tmp).append("\n");
-        }
-        System.out.print(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_5656.java b/JAVA_2021/src/SWEA/Solution_5656.java
deleted file mode 100644
index a6e0b0b..0000000
--- a/JAVA_2021/src/SWEA/Solution_5656.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class Solution_5656 { // 벽돌 깨기
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-    private static int N, W, H, answer;
-    private static int[][] graph;
-
-    private static void copyGraph(int[][] graph, int[][] graph2) {
-        for (int i = 0 ; i < H; i++) {
-            for (int j = 0 ; j < W; j++) {
-                graph2[i][j] = graph[i][j];
-            }
-        }
-    }
-
-    private static int burst(int[][] graph, int x, int y) {
-        int cnt = 0;
-        Queue<Node> queue = new LinkedList<>();
-        if (graph[x][y] > 1) {
-            queue.offer(new Node(x, y, graph[x][y]));
-        }
-        graph[x][y] = 0;
-        cnt++;
-        // 이부분이 지옥이네
-        while (!queue.isEmpty()) {
-            Node node = queue.poll();
-            for (int d = 0; d < 4; d++) {
-                int x2 = node.x;
-                int y2 = node.y;
-                for (int k = 0; k < node.range - 1; k++) {
-                    x2 += dx[d];
-                    y2 += dy[d];
-                    if (x2 < 0 || x2 >= H || y2 < 0 || y2 >= W || graph[x2][y2] == 0) continue;
-                    if (graph[x2][y2] > 1) queue.offer(new Node(x2, y2, graph[x2][y2]));
-                    graph[x2][y2] = 0;
-                    cnt++;
-                }
-            }
-        }
-        return cnt;
-    }
-
-    private static void downBrick(int[][] graph) {
-        for (int y = 0; y < W; y++) {
-            int x = H - 1;
-            while(x > 0) {
-                if (graph[x][y] == 0) {
-                    int nx = x - 1;
-                    while(nx > 0 && graph[nx][y] == 0) nx--;
-                    graph[x][y] = graph[nx][y];
-                    graph[nx][y] = 0;
-                }
-                x--;
-            }
-        }
-    }
-
-    private static boolean Combination(int depth, int remain, int[][] map) {
-        if (remain == 0) {
-            answer = 0;
-            return true;
-        }
-
-        if (depth == N) {
-            answer = Math.min(answer, remain);
-            return false;
-        }
-
-        int[][] newMap = new int[H][W];
-        for (int j = 0; j < W; j++) {
-            int i = 0;
-            while (i < H && map[i][j] == 0) ++i;
-            if (i == H) continue;
-            copyGraph(map, newMap);
-            int burstCnt = burst(newMap, i, j);
-            downBrick(newMap);
-            if (Combination(depth + 1, remain - burstCnt, newMap)) return true;
-        }
-        return false;
-    }
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            N = Integer.parseInt(st.nextToken());
-            W = Integer.parseInt(st.nextToken());
-            H = Integer.parseInt(st.nextToken());
-            graph = new int[H][W];
-            answer = Integer.MAX_VALUE;
-
-            int totalBrick = 0;
-            for (int i = 0; i < H; i++) {
-                st = new StringTokenizer(br.readLine());
-                for (int j =0; j < W; j++) {
-                    graph[i][j] = Integer.parseInt(st.nextToken());
-                    if (graph[i][j] > 0) totalBrick++;
-                }
-            }
-
-            StringBuilder sb = new StringBuilder();
-            Combination(0, totalBrick, graph);
-            sb.append("#").append(tc).append(" ").append(answer).append("\n");
-            System.out.print(sb);
-        }
-        br.close();
-    }
-    private static class Node {
-        int x, y, range;
-
-        public Node(int x, int y, int range) {
-            this.x = x;
-            this.y = y;
-            this.range = range;
-        }
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_6485.java b/JAVA_2021/src/SWEA/Solution_6485.java
deleted file mode 100644
index 8e5e8a0..0000000
--- a/JAVA_2021/src/SWEA/Solution_6485.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_6485 {
-    private static int[] arr;
-
-    private static void Check(int a, int b) {
-        for (int j = a; j <= b; j++) {
-            arr[j]++;
-        }
-    }
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            int N = Integer.parseInt(br.readLine());
-            StringBuilder sb = new StringBuilder();
-            arr = new int[5001];
-
-            for (int i = 0; i < N; i++) {
-                StringTokenizer st = new StringTokenizer(br.readLine());
-                int A = Integer.parseInt(st.nextToken());
-                int B = Integer.parseInt(st.nextToken());
-                Check(A, B);
-            }
-
-            sb.append("#").append(tc).append(" ");
-
-            int P = Integer.parseInt(br.readLine());
-            for (int i = 0; i < P - 1; i++) {
-                int tmp = Integer.parseInt(br.readLine());
-                sb.append(arr[tmp]).append(" ");
-            }
-            sb.append(arr[Integer.parseInt(br.readLine())]);
-            System.out.println(sb);
-        }
-        br.close();
-    }
-}
-
-/*
-2
-2
-1 3
-2 5
-5
-1
-2
-3
-4
-5
-2
-1 100
-1 50
-5
-1
-2
-3
-4
-5
- */
\ No newline at end of file
diff --git a/JAVA_2021/src/SWEA/Solution_6808.java b/JAVA_2021/src/SWEA/Solution_6808.java
deleted file mode 100644
index 1a33b05..0000000
--- a/JAVA_2021/src/SWEA/Solution_6808.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_6808 {
-    private static int size = 9, win, lose;
-    private static int[] gyuNum, inNum, in_tmp;
-    private static boolean[] numSelect;
-    private static boolean[] isSelect;
-
-    private static void Permutation(int depth) {
-        if (depth == 9) {
-            int a = 0, b = 0;
-
-            for (int i  =0; i < size; i++) {
-                if (gyuNum[i] > in_tmp[i]) {
-                    a += gyuNum[i] + in_tmp[i];
-                } else {
-                    b += gyuNum[i] + in_tmp[i];
-                }
-            }
-
-            if (a > b) { // 규형 기준
-                win++;
-            } else if (a < b) {
-                lose++;
-            }
-
-            return;
-        }
-
-        for (int i = 0; i < size; i++) {
-            if (isSelect[i]) continue;
-
-            in_tmp[depth] = inNum[i];
-            isSelect[i] = true;
-            Permutation(depth + 1);
-            isSelect[i] = false;
-        }
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            gyuNum = new int[size];
-            in_tmp = new int[size];
-            inNum = new int[size];
-            numSelect = new boolean[2 * size + 1];
-            isSelect = new boolean[2 * size + 1];
-            win = 0;
-            lose = 0;
-
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            for (int i = 0; i < 9; i++) {
-                gyuNum[i] = Integer.parseInt(st.nextToken());
-                numSelect[gyuNum[i]] = true;
-            }
-
-            int cnt = 0;
-            for (int i = 1; i <= size * 2; i++) {
-                if (!numSelect[i]) {
-                    inNum[cnt++] = i;
-                }
-            }
-
-            Permutation(0);
-
-            sb.append("#").append(tc).append(" ").append(win).append(" ").append(lose).append("\n");
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_2021/src/SWEA/Solution_7964.java b/JAVA_2021/src/SWEA/Solution_7964.java
deleted file mode 100644
index 878593c..0000000
--- a/JAVA_2021/src/SWEA/Solution_7964.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.StringTokenizer;
-
-public class Solution_7964 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        Queue<Integer> queue =  new LinkedList<>();
-        int T = Integer.parseInt(br.readLine());
-        for (int tc = 1; tc <= T; tc++) {
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            int city = Integer.parseInt(st.nextToken());
-            int limit = Integer.parseInt(st.nextToken());
-
-            st = new StringTokenizer(br.readLine());
-            for (int i = 0 ; i <city; i++) {
-                queue.offer(Integer.parseInt(st.nextToken()));
-            }
-
-            int gate = 0;
-            int distance = limit;
-
-            for (int i = 0; i < city; i++) {
-                int isGate = queue.poll();
-                if (isGate == 0) {
-                    distance--;
-                } else if (isGate == 1) {
-                    distance = limit;
-                }
-                if (distance == 0) {
-                    gate++;
-                    distance = limit;
-                }
-            }
-            System.out.println("#" + tc + " " + gate);
-        }
-    }
-}
-
-/*
-
-3
-6 2
-1 0 0 0 0 1
-10 2
-0 0 1 0 1 0 0 0 0 1
-10 1
-0 0 0 0 0 0 0 0 0 0
- */
\ No newline at end of file
diff --git "a/JAVA_2021/src/SWEA/Solution_\353\254\264\354\204\240\354\266\251\354\240\204.java" "b/JAVA_2021/src/SWEA/Solution_\353\254\264\354\204\240\354\266\251\354\240\204.java"
deleted file mode 100644
index f11ab63..0000000
--- "a/JAVA_2021/src/SWEA/Solution_\353\254\264\354\204\240\354\266\251\354\240\204.java"
+++ /dev/null
@@ -1,129 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class Solution_무선충전 {
-    private static int M, A;
-    private static int[] dx = {0, 1, 0, -1, 0};
-    private static int[] dy = {0, 0, 1, 0, -1};
-    private static StringTokenizer st;
-    private static ArrayList<Node> arr;
-    private static int[] moveA, moveB;
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            String[] line = br.readLine().split(" ");
-            M = Integer.parseInt(line[0]);
-            A = Integer.parseInt(line[1]);
-
-            st = new StringTokenizer(br.readLine());
-            moveA = new int[M];
-            for (int i = 0; i < M; i++) {
-                moveA[i] = Integer.parseInt(st.nextToken());
-            }
-
-            st = new StringTokenizer(br.readLine());
-            moveB = new int[M];
-            for (int i = 0; i < M; i++) {
-                moveB[i] = Integer.parseInt(st.nextToken());
-            }
-
-            arr = new ArrayList<>();
-            for (int i = 0; i < A; i++) {
-                st = new StringTokenizer(br.readLine());
-                int x = Integer.parseInt(st.nextToken());
-                int y = Integer.parseInt(st.nextToken());
-                int c = Integer.parseInt(st.nextToken());
-                int p = Integer.parseInt(st.nextToken());
-
-                arr.add(new Node(x, y, c, p));
-            }
-
-            int answer = charge();
-            System.out.println("#" + tc + " " + answer);
-        }
-        br.close();
-    }
-
-    private static int charge() {
-        int x1 = 1;
-        int y1 = 1;
-
-        int x2 = 10;
-        int y2 = 10;
-
-        int sum = getMax(x1, y1, x2, y2);
-
-        for (int time = 0; time < M; time++) {
-            x1 += dx[moveA[time]];
-            y1 += dy[moveA[time]];
-
-            x2 += dx[moveB[time]];
-            y2 += dy[moveB[time]];
-
-            sum += getMax(x1, y1, x2, y2);
-        }
-
-        return sum;
-    }
-
-    private static int getMax(int x1, int y1, int x2, int y2) {
-        int[][] amount = new int[2][A];
-
-        for (int i = 0; i< A; i++) {
-            amount[0][i] = check(x1, y1, i);
-        }
-
-        for (int i = 0; i < A; i++) {
-            amount[1][i] = check(x2, y2, i);
-        }
-
-        int res = 0;
-        for (int i = 0; i < A; i++) {
-            for (int j = 0 ; j < A; j++) {
-                int sum = amount[0][i] + amount[1][j];
-
-                if (i == j && amount[0][i] == amount[1][j]) {
-                    sum /= 2;
-                }
-
-                if (sum > res) {
-                    res = sum;
-                }
-            }
-        }
-
-        return res;
-    }
-
-    private static int check(int x, int y, int num) {
-        int a = Math.abs(x - arr.get(num).x);
-        int b = Math.abs(y - arr.get(num).y);
-        int dist = a + b;
-
-        if (dist <= arr.get(num).c) {
-            return arr.get(num).p;
-        } else {
-            return 0;
-        }
-    }
-
-    private static class Node{
-        int x, y, c, p;
-
-        public Node(int x, int y, int c, int p) {
-            this.x = x;
-            this.y = y;
-            this.c = c;
-            this.p = p;
-        }
-    }
-
-}
\ No newline at end of file
diff --git "a/JAVA_2021/src/SWEA/Solution_\353\263\264\352\270\211\353\241\234.java" "b/JAVA_2021/src/SWEA/Solution_\353\263\264\352\270\211\353\241\234.java"
deleted file mode 100644
index 441258b..0000000
--- "a/JAVA_2021/src/SWEA/Solution_\353\263\264\352\270\211\353\241\234.java"
+++ /dev/null
@@ -1,68 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Arrays;
-import java.util.LinkedList;
-import java.util.Queue;
-
-public class Solution_보급로 {
-    private static int N;
-    private static char[][] graph;
-    private static int[][] memory;
-    private static int[] dx = {-1, 1, 0, 0};
-    private static int[] dy = {0, 0, -1, 1};
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc++) {
-            StringBuilder sb = new StringBuilder();
-            N = Integer.parseInt(br.readLine());
-            graph = new char[N][];
-            memory = new int[N][N];
-
-            for (int i = 0 ; i < N; i++) {
-                graph[i] = br.readLine().toCharArray();
-                Arrays.fill(memory[i], Integer.MAX_VALUE / 2);
-            }
-
-            Queue<Node> queue = new LinkedList<>();
-            memory[0][0] = 0;
-            queue.offer(new Node(0, 0, 0)); // 초기화
-
-            while (!queue.isEmpty()) {
-                Node tmp = queue.poll();
-
-                for (int k = 0; k < 4; k++) {
-                    int x = tmp.x + dx[k];
-                    int y = tmp.y + dy[k];
-
-                    if (0 <= x && x < N && 0 <= y && y < N) {
-                        int time = tmp.val + Integer.parseInt("" + graph[x][y]);
-                        if (memory[x][y] > time) {
-                            memory[x][y] = time;
-                            queue.offer(new Node(x, y, memory[x][y]));
-                        }
-                    }
-                }
-            }
-
-            sb.append("#").append(tc).append(" ").append(memory[N-1][N-1]);
-            System.out.println(sb);
-        }
-        br.close();
-    }
-
-    private static class Node{
-        int x, y, val;
-
-        public Node(int x, int y, int val) {
-            this.x = x;
-            this.y = y;
-            this.val = val;
-        }
-    }
-}
diff --git "a/JAVA_2021/src/SWEA/Solution_\355\231\234\354\243\274\353\241\234\352\261\264\354\204\244.java" "b/JAVA_2021/src/SWEA/Solution_\355\231\234\354\243\274\353\241\234\352\261\264\354\204\244.java"
deleted file mode 100644
index 0981e83..0000000
--- "a/JAVA_2021/src/SWEA/Solution_\355\231\234\354\243\274\353\241\234\352\261\264\354\204\244.java"
+++ /dev/null
@@ -1,91 +0,0 @@
-package SWEA;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.StringTokenizer;
-
-public class Solution_활주로건설 {
-    private static int N, X;
-    private static int[][] graph, graph2;
-
-    private static int Solve(int[] arr, int x) {
-        int cnt = 1;
-        int before = arr[0];
-
-        for (int i = 1 ; i  < arr.length; i++) {
-            if (arr[i] < before) {
-                if (before - arr[i] > 1) {
-                    return 0;
-                } else {
-                    if ((i + x) > arr.length) {
-                        return 0;
-                    } else {
-                        for (int j = i; j < i + x; j++) {
-                            if (arr[j] != arr[i]) {
-                                return 0;
-                            }
-                        }
-                        cnt = -x +1;
-                    }
-                }
-            } else if (arr[i] > before) {
-                if (arr[i] - before > 1) {
-                    return 0;
-                } else {
-                    if (cnt >= x) {
-                        cnt = 1;
-                    } else {
-                        return 0;
-                    }
-                }
-            } else {
-                cnt++;
-            }
-            before = arr[i];
-        }
-        return 1;
-    }
-
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int T = Integer.parseInt(br.readLine());
-
-        for (int tc = 1; tc <= T; tc ++ ){
-            StringTokenizer st = new StringTokenizer(br.readLine());
-            N = Integer.parseInt(st.nextToken());
-            X = Integer.parseInt(st.nextToken());
-            graph = new int[N][N];
-            graph2 = new int[N][N];
-
-
-            for (int i = 0; i < N; i++) {
-                st = new StringTokenizer(br.readLine());
-                for (int j = 0 ; j < N; j++) {
-                    graph[i][j] = Integer.parseInt(st.nextToken());
-                }
-            }
-
-            for (int i = 0 ; i < N; i++) {
-                for (int j = 0; j < N; j++) {
-                    graph2[j][i] = graph[i][j];
-                }
-            }
-
-
-            int answer = 0;
-            for (int i = 0 ; i < N; i++) {
-                answer += Solve(graph[i], X);
-            }
-
-            for (int i = 0 ; i < N; i++) {
-                answer += Solve(graph2[i], X);
-            }
-
-            StringBuilder sb = new StringBuilder();
-            sb.append("#").append(tc).append(" ").append(answer).append("\n");
-            System.out.print(sb);
-        }
-    }
-}
diff --git a/JAVA_BOJ_2023/.gitignore b/JAVA_BOJ_2023/.gitignore
deleted file mode 100644
index e9e93f1..0000000
--- a/JAVA_BOJ_2023/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-out
-.idea
-workspace.xmi
\ No newline at end of file
diff --git a/JAVA_BOJ_2023/array/boj_10813.java b/JAVA_BOJ_2023/array/boj_10813.java
deleted file mode 100644
index cc93097..0000000
--- a/JAVA_BOJ_2023/array/boj_10813.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package array;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-public class boj_10813 {
-
-    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 M = Integer.parseInt(st.nextToken());
-
-        ArrayList<Integer> list = new ArrayList<>(N);
-
-        for (int i = 1; i <= N; ++i) {
-            list.add(i);
-        }
-
-        for (int idx = 0; idx < M; ++idx) {
-            st = new StringTokenizer(br.readLine());
-            int i = Integer.parseInt(st.nextToken()) - 1;
-            int j = Integer.parseInt(st.nextToken()) - 1;
-
-            int tmp = list.get(i);
-            list.set(i, list.get(j));
-            list.set(j, tmp);
-        }
-        for (int i = 0; i < list.size(); ++i) {
-            System.out.print(list.get(i) + " ");
-        }
-    }
-}
diff --git a/JAVA_BOJ_2023/forloop/boj_25314.java b/JAVA_BOJ_2023/forloop/boj_25314.java
deleted file mode 100644
index dacd5d6..0000000
--- a/JAVA_BOJ_2023/forloop/boj_25314.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package forloop;
-
-import java.util.Scanner;
-
-public class boj_25314 {
-
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int n = sc.nextInt();
-        int sum = n / 4;
-
-        StringBuilder sb = new StringBuilder();
-
-        for (int i = 1; i <= sum; ++i) {
-            sb.append("long ");
-        }
-
-        sb.append("int");
-        System.out.println(sb.toString());
-    }
-}
\ No newline at end of file
diff --git a/JAVA_BOJ_2023/list/boj_10810.java b/JAVA_BOJ_2023/list/boj_10810.java
deleted file mode 100644
index 38f4bd7..0000000
--- a/JAVA_BOJ_2023/list/boj_10810.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package list;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-import java.util.StringTokenizer;
-
-public class boj_10810 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringTokenizer st = new StringTokenizer(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        int n = Integer.parseInt(st.nextToken());
-        int m = Integer.parseInt(st.nextToken());
-
-        HashMap<Integer, Integer> hashMap = new HashMap<>();
-        for (int i = 0; i < n; ++i) {
-            hashMap.put(i + 1, 0);
-        }
-
-        for (int tc = 0; tc < m; ++tc) {
-            st = new StringTokenizer(br.readLine());
-            int i = Integer.parseInt(st.nextToken());
-            int j = Integer.parseInt(st.nextToken());
-            int k = Integer.parseInt(st.nextToken());
-
-            int idx = i;
-            while (idx <= j) {
-                hashMap.put(idx, k);
-                idx++;
-            }
-        }
-
-        for (int i = 1; i <= n; ++i) {
-            sb.append(hashMap.get(i)).append(" ");
-        }
-        System.out.println(sb.toString());
-    }
-}
diff --git a/JAVA_BOJ_2025/.idea/.gitignore b/JAVA_BOJ_2025/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/JAVA_BOJ_2025/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/JAVA_BOJ_2025/.idea/JAVA_BOJ_2024.iml b/JAVA_BOJ_2025/.idea/JAVA_BOJ_2024.iml
deleted file mode 100644
index b107a2d..0000000
--- a/JAVA_BOJ_2025/.idea/JAVA_BOJ_2024.iml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/JAVA_BOJ_2025/Solve5585.java b/JAVA_BOJ_2025/Solve5585.java
deleted file mode 100644
index de55821..0000000
--- a/JAVA_BOJ_2025/Solve5585.java
+++ /dev/null
@@ -1,21 +0,0 @@
-import java.util.Scanner;
-
-public class Solve5585 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int n = sc.nextInt();
-
-        int sum_cnt = 0;
-        int origin = 1000 - n;
-        int[] coins = {500, 100, 50, 10, 5, 1};
-
-        for (int i = 0; i < coins.length; i++) {
-            sum_cnt += origin / coins[i];
-            origin %= coins[i];
-        }
-
-        System.out.println(sum_cnt);
-
-        sc.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_10102.java b/JAVA_BOJ_2025/Solve_10102.java
deleted file mode 100644
index b22e43d..0000000
--- a/JAVA_BOJ_2025/Solve_10102.java
+++ /dev/null
@@ -1,29 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_10102 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int[] voteBox = new int[2];
-
-        int v = Integer.parseInt(br.readLine());
-        String input = br.readLine();
-
-        for (int j = 0; j < v; j++) {
-            if (input.charAt(j) == 'A') {
-                voteBox[0]++;
-            } else if (input.charAt(j) == 'B') {
-                voteBox[1]++;
-            }
-        }
-
-        if (voteBox[0] == voteBox[1]) {
-            System.out.println("Tie");
-        } else if (voteBox[0] > voteBox[1]) {
-            System.out.println("A");
-        } else {
-            System.out.println("B");
-        }
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_10798.java b/JAVA_BOJ_2025/Solve_10798.java
deleted file mode 100644
index df6ec49..0000000
--- a/JAVA_BOJ_2025/Solve_10798.java
+++ /dev/null
@@ -1,30 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-
-public class Solve_10798 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        char[][] arr = new char[5][15];
-
-        for (int i = 0 ; i < 5; i++) {
-            String input = br.readLine();
-
-            for (int j = 0 ; j <input.length() ; j++) {
-                arr[i][j] = input.charAt(j);
-            }
-        }
-
-        StringBuilder sb = new StringBuilder();
-        for (int j = 0; j < 15; j++) {
-            for (int i = 0; i < 5; i++) {
-                if (arr[i][j] != 0) {
-                    sb.append(arr[i][j]);
-                }
-            }
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_10820.java b/JAVA_BOJ_2025/Solve_10820.java
deleted file mode 100644
index 8c5f58b..0000000
--- a/JAVA_BOJ_2025/Solve_10820.java
+++ /dev/null
@@ -1,36 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_10820 {
-    public static void main(String[] args) throws IOException {
-        String capital = "ABCDEFGHIJKLNMOPQRSTUVWXYZ";
-        String small = "abcdefghijklmnopqrstuvwxyz";
-        String number = "0123456789";
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input;
-
-        while ((input = br.readLine()) != null) {
-            int[] result = new int[4];
-
-            for (int i = 0; i < input.length(); i++) {
-                if (small.contains(input.substring(i, i + 1))) {
-                    result[0]++;
-                } else if (capital.contains(input.substring(i, i + 1))) {
-                    result[1]++;
-                } else if (number.contains(input.substring(i, i + 1))) {
-                    result[2]++;
-                } else {
-                    result[3]++;
-                }
-            }
-
-            for (int i : result) {
-                System.out.print(i + " ");
-            }
-            System.out.println();
-        }
-
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_10987.java b/JAVA_BOJ_2025/Solve_10987.java
deleted file mode 100644
index 1de46cf..0000000
--- a/JAVA_BOJ_2025/Solve_10987.java
+++ /dev/null
@@ -1,21 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_10987 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input = br.readLine();
-
-        String[] list = {"a", "e", "i", "o", "u"};
-        int answer = 0;
-        for (int i = 0; i < input.length(); i++) {
-            for (int j = 0; j < list.length; j++) {
-                if (input.charAt(i) == list[j].charAt(0)) {
-                    answer++;
-                }
-            }
-        }
-        System.out.println(answer);
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_10988.java b/JAVA_BOJ_2025/Solve_10988.java
deleted file mode 100644
index 96e7df4..0000000
--- a/JAVA_BOJ_2025/Solve_10988.java
+++ /dev/null
@@ -1,31 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_10988 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        String input = br.readLine();
-        /**
-         * l e v e l (length : 5) = 5/2 + 1
-         * b e a k j o o n (length : 8)
-         */
-        boolean flag = false;
-        int length = input.length();
-        for (int i = 0 ; i < length / 2 ; i++) {
-            if (input.charAt(i) != input.charAt(length - 1 - i)) {
-                flag = true;
-                break;
-            }
-        }
-
-        if (flag) {
-            System.out.println(0);
-        } else {
-            System.out.println(1);
-        }
-
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_11328.java b/JAVA_BOJ_2025/Solve_11328.java
deleted file mode 100644
index e9c57d3..0000000
--- a/JAVA_BOJ_2025/Solve_11328.java
+++ /dev/null
@@ -1,40 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_11328 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        int cases = Integer.parseInt(br.readLine());
-
-        for (int i = 0 ; i < cases ; i++) {
-            String[] inputArr = br.readLine().split(" ");
-
-            boolean result = solve(inputArr);
-
-            if (result) {
-                System.out.println("Impossible");
-            } else {
-                System.out.println("Possible");
-            }
-        }
-    }
-
-    private static boolean solve(String[] arr) {
-        boolean result = false;
-        int[] alphabet = new int[26];
-        char[] word1 = arr[0].toCharArray();
-        char[] word2 = arr[1].toCharArray();
-
-        for (char chr : word1) {alphabet[chr - 'a']++;}
-        for (char chr : word2) {alphabet[chr - 'a']--;}
-
-        for (int i = 0; i < 26; i++) {
-            if (alphabet[i] != 0) {
-                result = true;
-            }
-        }
-        return result;
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_11365.java b/JAVA_BOJ_2025/Solve_11365.java
deleted file mode 100644
index 33ea6c8..0000000
--- a/JAVA_BOJ_2025/Solve_11365.java
+++ /dev/null
@@ -1,22 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_11365 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        while (true) {
-            String input = br.readLine();
-            if (input.equals("END")) break;
-
-            int length = input.length();
-            for (int i = length - 1; i >= 0; i--) {
-                sb.append(input.charAt(i));
-            }
-            sb.append('\n');
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_11721.java b/JAVA_BOJ_2025/Solve_11721.java
deleted file mode 100644
index b9c6a9b..0000000
--- a/JAVA_BOJ_2025/Solve_11721.java
+++ /dev/null
@@ -1,20 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_11721 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input = br.readLine();
-        StringBuilder sb = new StringBuilder();
-
-        for (int i = 1; i < input.length() + 1; i++) {
-            sb.append(input.charAt(i - 1));
-            if (i % 10 == 0) {
-                sb.append("\n");
-            }
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_11945.java b/JAVA_BOJ_2025/Solve_11945.java
deleted file mode 100644
index 1b51425..0000000
--- a/JAVA_BOJ_2025/Solve_11945.java
+++ /dev/null
@@ -1,24 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_11945 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] input = br.readLine().split(" ");
-        int N = Integer.parseInt(input[0]);
-        int M = Integer.parseInt(input[1]);
-
-        StringBuilder sb = new StringBuilder();
-        for (int i = 1; i <= N; i++) {
-            String bung = br.readLine();
-
-            for (int j = M; j >= 1; j--) {
-                sb.append(bung.charAt(j - 1));
-            }
-            sb.append("\n");
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_15000.java b/JAVA_BOJ_2025/Solve_15000.java
deleted file mode 100644
index c8986f9..0000000
--- a/JAVA_BOJ_2025/Solve_15000.java
+++ /dev/null
@@ -1,14 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_15000 {
-    public static void main(String[] args) throws IOException {
-
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input = br.readLine();
-
-        System.out.println(input.toUpperCase());
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_1672.java b/JAVA_BOJ_2025/Solve_1672.java
deleted file mode 100644
index 2d2aa3b..0000000
--- a/JAVA_BOJ_2025/Solve_1672.java
+++ /dev/null
@@ -1,42 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class Solve_1672 {
-    static char[][] rules = {
-            {'A', 'C', 'A', 'G'},
-            {'C', 'G', 'T', 'A'},
-            {'A', 'T', 'C', 'G'},
-            {'G', 'A', 'G', 'T'}
-    };
-
-    static int getIndex (char c) {
-        switch (c) {
-            case 'A': return 0;
-            case 'G': return 1;
-            case 'C': return 2;
-            case 'T': return 3;
-            default: return -1;
-        }
-    }
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int length = Integer.parseInt(br.readLine());
-        String dna = br.readLine();
-
-        char result = dna.charAt(length - 1);
-        for (int i = length - 2; i >= 0; i--) {
-            char left = dna.charAt(i);
-            int idx1 = getIndex(left);
-            int idx2 = getIndex(result);
-            result = rules[idx1][idx2];
-        }
-
-        System.out.println(result);
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_17548.java b/JAVA_BOJ_2025/Solve_17548.java
deleted file mode 100644
index f43d680..0000000
--- a/JAVA_BOJ_2025/Solve_17548.java
+++ /dev/null
@@ -1,27 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_17548 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input = br.readLine();
-
-        int e_cnt = 0;
-        for (int i = 0; i < input.length(); i++) {
-            if (input.charAt(i) == 'e') {
-                e_cnt++;
-            }
-        }
-
-        StringBuilder sb = new StringBuilder();
-        sb.append("h");
-        for (int i = 0; i < e_cnt * 2; i++) {
-            sb.append("e");
-        }
-        sb.append("y");
-
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_18312.java b/JAVA_BOJ_2025/Solve_18312.java
deleted file mode 100644
index 1de2797..0000000
--- a/JAVA_BOJ_2025/Solve_18312.java
+++ /dev/null
@@ -1,27 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_18312 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String[] input = br.readLine().split(" ");
-
-        int N = Integer.parseInt(input[0]);
-        String target = input[1];
-        int result = 0;
-
-        for (int i = 0; i <= N; i++) { // 시간
-            for (int j = 0; j <= 59; j++) { // 분
-                for (int k = 0; k <= 59; k++) { // 초
-                    String time = String.format("%02d:%02d:%02d", i, j, k);
-                    if (time.contains(target)) {
-                        result++;
-                    }
-                }
-            }
-        }
-        System.out.println(result);
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_25372.java b/JAVA_BOJ_2025/Solve_25372.java
deleted file mode 100644
index 2f1beb5..0000000
--- a/JAVA_BOJ_2025/Solve_25372.java
+++ /dev/null
@@ -1,21 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_25372 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-
-        for (; n > 0; n--) {
-            String s = br.readLine();
-            if (s.length() >= 6 && s.length() <= 9) {
-                System.out.println("yes");
-            } else {
-                System.out.println("no");
-            }
-        }
-        br.close();
-
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_26264.java b/JAVA_BOJ_2025/Solve_26264.java
deleted file mode 100644
index d2cb19c..0000000
--- a/JAVA_BOJ_2025/Solve_26264.java
+++ /dev/null
@@ -1,32 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_26264 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        String input = br.readLine();
-
-        int bcnt = 0;
-        int scnt = 0;
-
-        for (int i = 0; i < input.length(); i++) {
-            if (input.substring(i, i + 1).equals("b")) {
-                bcnt++;
-            } else if (input.substring(i, i + 1).equals("s")) {
-                scnt++;
-            }
-        }
-
-        if (bcnt> scnt) {
-            System.out.println("bigdata?");
-        } else if (bcnt < scnt) {
-            System.out.println("security!");
-        } else {
-            System.out.println("bigdata? security!");
-        }
-
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_2743.java b/JAVA_BOJ_2025/Solve_2743.java
deleted file mode 100644
index 1c3776b..0000000
--- a/JAVA_BOJ_2025/Solve_2743.java
+++ /dev/null
@@ -1,12 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_2743 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input = br.readLine();
-
-        System.out.println(input.length());
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_2754.java b/JAVA_BOJ_2025/Solve_2754.java
deleted file mode 100644
index fd021b0..0000000
--- a/JAVA_BOJ_2025/Solve_2754.java
+++ /dev/null
@@ -1,33 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.HashMap;
-
-public class Solve_2754 {
-
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        String input = br.readLine();
-
-        HashMap<String, String> map = new HashMap();
-        map.put("A+", "4.3");
-        map.put("A0", "4.0");
-        map.put("A-", "3.7");
-        map.put("B+", "3.3");
-        map.put("B0", "3.0");
-        map.put("B-", "2.7");
-        map.put("C+", "2.3");
-        map.put("C0", "2.0");
-        map.put("C-", "1.7");
-        map.put("D+", "1.3");
-        map.put("D0", "1.0");
-        map.put("D-", "0.7");
-        map.put("F", "0.0");
-
-        if (map.containsKey(input)) {
-            System.out.println(map.get(input));
-        }
-
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_27866.java b/JAVA_BOJ_2025/Solve_27866.java
deleted file mode 100644
index 905ab07..0000000
--- a/JAVA_BOJ_2025/Solve_27866.java
+++ /dev/null
@@ -1,25 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-
-public class Solve_27866 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        ArrayList<String> inputList = new ArrayList<>();
-
-        for (int i = 0; i < 2; ++i) {
-           String inputline = br.readLine();
-           inputList.add(inputline);
-        }
-
-        String str = inputList.get(0);
-        int idx = Integer.parseInt(inputList.get(1));
-
-        for (int i = 0; i < str.length(); i++) {
-            if (i == idx - 1) {
-                System.out.println(str.charAt(i));
-            }
-        }
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_2884.java b/JAVA_BOJ_2025/Solve_2884.java
deleted file mode 100644
index 7dd3ae4..0000000
--- a/JAVA_BOJ_2025/Solve_2884.java
+++ /dev/null
@@ -1,21 +0,0 @@
-import java.util.Scanner;
-
-public class Solve_2884 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int hour = sc.nextInt();
-        int minute = sc.nextInt();
-
-        if (hour == 0 && minute < 45) {
-            hour = 24;
-        }
-
-        if (minute < 45) {
-            hour-=1;
-            minute+=15;
-        } else {
-            minute-=45;
-        }
-        System.out.println(hour + " " + minute);
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_30501.java b/JAVA_BOJ_2025/Solve_30501.java
deleted file mode 100644
index 64df74f..0000000
--- a/JAVA_BOJ_2025/Solve_30501.java
+++ /dev/null
@@ -1,19 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_30501 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(input.readLine());
-
-        for (; n > 0; n--) {
-            String name = input.readLine();
-            if (name.contains("S")) {
-                System.out.println(name);
-                break;
-            }
-        }
-        input.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_32929.java b/JAVA_BOJ_2025/Solve_32929.java
deleted file mode 100644
index dc12fad..0000000
--- a/JAVA_BOJ_2025/Solve_32929.java
+++ /dev/null
@@ -1,19 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_32929 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-
-        if (n % 3 == 0) {
-            System.out.println('S');
-        } else if (n % 3 == 1) {
-            System.out.println('U');
-        } else if (n % 3 == 2) {
-            System.out.println('O');
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_5026.java b/JAVA_BOJ_2025/Solve_5026.java
deleted file mode 100644
index df27d65..0000000
--- a/JAVA_BOJ_2025/Solve_5026.java
+++ /dev/null
@@ -1,26 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_5026 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        StringBuilder sb = new StringBuilder();
-        int n = Integer.parseInt(br.readLine());
-
-        for (int i = 0; i < n; i++) {
-            String input = br.readLine();
-            String[] strArr = {};
-
-            if (input.contains("+")) {
-                strArr = input.split("\\+");
-                sb.append(Integer.parseInt(strArr[0]) + Integer.parseInt(strArr[1]));
-            } else if (input.equals("P=NP")) {
-                sb.append("skipped");
-            }
-            sb.append("\n");
-        }
-        System.out.println(sb.toString());
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_5357.java b/JAVA_BOJ_2025/Solve_5357.java
deleted file mode 100644
index cd55c1e..0000000
--- a/JAVA_BOJ_2025/Solve_5357.java
+++ /dev/null
@@ -1,33 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.Stack;
-
-public class Solve_5357 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int n = Integer.parseInt(br.readLine());
-        StringBuilder sb = new StringBuilder();
-
-        for (; n > 0; n--) {
-            String input = br.readLine();
-            Stack<Character> stack = new Stack<>();
-
-            for (int i = 0; i < input.length(); i++) {
-                stack.push(input.charAt(i));
-                if (stack.size() != 1) {
-                    if (input.charAt(i - 1) == stack.peek()) {
-                        stack.pop();
-                    }
-                }
-            }
-
-            for (Character c : stack) {
-                sb.append(c);
-            }
-            sb.append("\n");
-        }
-        System.out.println(sb);
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_6378.java b/JAVA_BOJ_2025/Solve_6378.java
deleted file mode 100644
index 5088263..0000000
--- a/JAVA_BOJ_2025/Solve_6378.java
+++ /dev/null
@@ -1,28 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_6378 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-
-        while(true) {
-            String input = br.readLine();
-
-            if (input.equals("0")) {
-                break;
-            }
-
-            while (input.length() > 1) {
-                int sum = 0;
-
-                for (char c : input.toCharArray()) {
-                    sum += c - '0';
-                }
-                input = String.valueOf(sum);
-            }
-            System.out.println(input);
-        }
-        br.close();
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_9012.java b/JAVA_BOJ_2025/Solve_9012.java
deleted file mode 100644
index 822cd0f..0000000
--- a/JAVA_BOJ_2025/Solve_9012.java
+++ /dev/null
@@ -1,42 +0,0 @@
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-
-public class Solve_9012 {
-    public static void main(String[] args) throws IOException {
-        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
-        int num = Integer.parseInt(br.readLine());
-
-        StringBuilder sb = new StringBuilder();
-
-        for (int i = 0; i < num; i++) {
-            String input = br.readLine();
-            if (checkLogic(input)) {
-                sb.append("YES").append("\n");
-            } else {
-                sb.append("NO").append("\n");
-            }
-        }
-
-        System.out.println(sb.toString());
-        br.close();
-    }
-
-    public static boolean checkLogic(String input) {
-        int cnt = 0;
-        for (int i = 0; i < input.length(); i++) {
-            if (input.charAt(i) == '(') {
-                cnt++;
-            } else {
-                cnt--;
-            }
-            if (cnt < 0) {
-                return false;
-            }
-        }
-        if (cnt == 0) {
-            return true;
-        }
-        return false;
-    }
-}
diff --git a/JAVA_BOJ_2025/Solve_9498.java b/JAVA_BOJ_2025/Solve_9498.java
deleted file mode 100644
index c09820d..0000000
--- a/JAVA_BOJ_2025/Solve_9498.java
+++ /dev/null
@@ -1,25 +0,0 @@
-import java.util.Scanner;
-
-public class Solve_9498 {
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int score = sc.nextInt();
-
-        String answer = solve(score);
-        System.out.println(answer);
-    }
-
-    public static String solve(int score) {
-        String result = "F";
-        if (score >= 90 && score <= 100) {
-            return "A";
-        } else if (score >= 80 && score < 90) {
-            return "B";
-        } else if (score >= 70 && score < 80) {
-            return "C";
-        } else if (score >= 60 && score < 70) {
-            return "D";
-        }
-        return result;
-    }
-}
diff --git a/JAVA_BOJ_2025/out/production/JAVA_BOJ_2024/.idea/.gitignore b/JAVA_BOJ_2025/out/production/JAVA_BOJ_2024/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/JAVA_BOJ_2025/out/production/JAVA_BOJ_2024/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/JAVA_BOJ_2025/out/production/JAVA_BOJ_2024/.idea/JAVA_BOJ_2024.iml b/JAVA_BOJ_2025/out/production/JAVA_BOJ_2024/.idea/JAVA_BOJ_2024.iml
deleted file mode 100644
index b107a2d..0000000
--- a/JAVA_BOJ_2025/out/production/JAVA_BOJ_2024/.idea/JAVA_BOJ_2024.iml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/JAVA_LEETCODE_2024/.idea/.gitignore b/JAVA_LEETCODE_2024/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/JAVA_LEETCODE_2024/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/JAVA_LEETCODE_2024/.idea/JAVA_LEETCODE_2024.iml b/JAVA_LEETCODE_2024/.idea/JAVA_LEETCODE_2024.iml
deleted file mode 100644
index b107a2d..0000000
--- a/JAVA_LEETCODE_2024/.idea/JAVA_LEETCODE_2024.iml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/JAVA_LEETCODE_2024/out/production/JAVA_LEETCODE_2024/.idea/.gitignore b/JAVA_LEETCODE_2024/out/production/JAVA_LEETCODE_2024/.idea/.gitignore
deleted file mode 100644
index 13566b8..0000000
--- a/JAVA_LEETCODE_2024/out/production/JAVA_LEETCODE_2024/.idea/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Editor-based HTTP Client requests
-/httpRequests/
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
diff --git a/JAVA_LEETCODE_2024/out/production/JAVA_LEETCODE_2024/.idea/JAVA_LEETCODE_2024.iml b/JAVA_LEETCODE_2024/out/production/JAVA_LEETCODE_2024/.idea/JAVA_LEETCODE_2024.iml
deleted file mode 100644
index b107a2d..0000000
--- a/JAVA_LEETCODE_2024/out/production/JAVA_LEETCODE_2024/.idea/JAVA_LEETCODE_2024.iml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/JAVA_LEETCODE_2024/solution35.java b/JAVA_LEETCODE_2024/solution35.java
deleted file mode 100644
index acd8713..0000000
--- a/JAVA_LEETCODE_2024/solution35.java
+++ /dev/null
@@ -1,31 +0,0 @@
-public class solution35 {
-    /**
-     * 35. Search Insert Position
-     *
-     * Given a sorted array of distinct integers and a target value,
-     * return the index if the target is found.
-     * If not, return the index where it would be if it were inserted in order.
-     * You must write an algorithm with O(log n) runtime complexity.
-     */
-    public static void main(String[] args) {
-        int[] nums = {1,3,5,6};
-        System.out.println(solution(5, nums));
-    }
-
-    public static int solution(int target, int[] nums) {
-        int left = 0;
-        int right = nums.length - 1;
-
-        while (left <= right) {
-            int mid = left + (right - left) / 2;
-            if (nums[mid] == target) {
-                return mid;
-            } else if (nums[mid] > target) {
-                right = mid - 1;
-            } else {
-                left = mid + 1;
-            }
-        }
-        return left;
-    }
-}
diff --git a/JAVA_LEETCODE_2024/solution70.java b/JAVA_LEETCODE_2024/solution70.java
deleted file mode 100644
index 4ceb5f7..0000000
--- a/JAVA_LEETCODE_2024/solution70.java
+++ /dev/null
@@ -1,30 +0,0 @@
-import java.util.Scanner;
-
-public class solution70 {
-    /**
-     * 70. Climbing Stairs
-     *
-     * You are climbing a staircase. It takes n steps to reach the top.
-     * Each time you can either climb 1 or 2 steps.
-     * In how many distinct ways can you climb to the top?
-     */
-    public static void main(String[] args) {
-        Scanner sc = new Scanner(System.in);
-        int n = sc.nextInt();
-        System.out.println(climbStairs(n));
-    }
-
-    public static int climbStairs(int n) {
-        // dp로 처리
-        int[] answer = new int[n + 1];
-        answer[0] = 1;
-        answer[1] = 1;
-
-        for (int i = 2; i <= n; ++i) {
-            answer[i] = answer[i - 1] + answer[i - 2];
-        }
-
-        return answer[n];
-    }
-
-}
diff --git a/Python_BOJ_2021/1002.py b/Python_BOJ_2021/1002.py
deleted file mode 100644
index 329dfb0..0000000
--- a/Python_BOJ_2021/1002.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 터렛
-import math
-
-T = int(input())
-
-for _ in range(T):
-    x1, y1, r1, x2, y2, r2 = map(int, input().split())
-    d = math.sqrt((x2-x1)**2 + (y2-y1)**2)
-
-    if r2 > r1:
-        r1, r2 = r2, r1
-    if d == 0:
-        if r1 == r2:
-            print('-1')
-        else:
-            print('0')
-    else:
-        if r1 + r2 == d or r1 - r2 == d:
-            print('1')
-        elif r1 + r2 > d and r1 - r2 < d:
-            print('2')
-        else:
-            print('0')
diff --git a/Python_BOJ_2021/10026-bfs.py b/Python_BOJ_2021/10026-bfs.py
deleted file mode 100644
index f862b74..0000000
--- a/Python_BOJ_2021/10026-bfs.py
+++ /dev/null
@@ -1,51 +0,0 @@
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-graph = [list(input().upper()) for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(x, y, visited):
-    queue.append((x, y))
-
-    while queue:
-        x, y = queue.popleft()
-
-        for i in range(4):
-            nx = x + dx[i]
-            ny = y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < n and not visited[nx][ny]:
-                if graph[nx][ny] == graph[x][y]:
-                    queue.append((nx, ny))
-                    visited[nx][ny] = True
-
-
-queue = deque()
-visited = [[False] * n for _ in range(n)]
-ans = 0
-
-for i in range(n):
-    for j in range(n):
-        if not visited[i][j]:
-            bfs(i, j, visited)
-            ans += 1
-
-queue = deque()
-visited2 = [[False] * n for _ in range(n)]
-ans_2 = 0
-
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 'G':
-            graph[i][j] = 'R'
-
-for i in range(n):
-    for j in range(n):
-        if not visited2[i][j]:
-            bfs(i, j, visited2)
-            ans_2 += 1
-
-print(ans, ans_2)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10026-dfs.py b/Python_BOJ_2021/10026-dfs.py
deleted file mode 100644
index 6e0710e..0000000
--- a/Python_BOJ_2021/10026-dfs.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# 적록색약
-import sys
-sys.setrecursionlimit(10001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-graph = [list(input().upper()) for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y, type, visited):
-    visited[x][y] = True
-
-    for i in range(4):
-        nx = x + dx[i]
-        ny = y + dy[i]
-
-        if 0 <= nx < n and 0 <= ny < n and not visited[nx][ny]:
-            if type == 0 and graph[nx][ny] == graph[x][y]:
-                dfs(nx, ny, 0, visited)
-            elif type == 1 and graph[nx][ny] == graph[x][y]:
-                dfs(nx, ny, 1, visited)
-
-
-visited = [[False] * n for _ in range(n)]
-ans = 0
-
-for i in range(n):
-    for j in range(n):
-        if not visited[i][j]:
-            dfs(i, j, 0, visited)
-            ans += 1
-
-
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 'G':
-            graph[i][j] = 'R'
-
-
-visited2 = [[False] * n for _ in range(n)]
-ans_2 = 0
-
-for i in range(n):
-    for j in range(n):
-        if not visited2[i][j]:
-            dfs(i, j, 1, visited2)
-            ans_2 += 1
-
-print(ans, ans_2)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1003.py b/Python_BOJ_2021/1003.py
deleted file mode 100644
index 358d908..0000000
--- a/Python_BOJ_2021/1003.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 피보나치 함수
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-def fibonacci_cnt(n):
-    zero_cnt = [1, 0]
-    one_cnt = [0, 1]
-    if n <= 1:
-        return
-
-    for i in range(2, n + 1):
-        zero_cnt.append(zero_cnt[i - 1] + zero_cnt[i - 2])
-        one_cnt.append(one_cnt[i - 1] + one_cnt[i - 2])
-
-    return zero_cnt, one_cnt
-
-zero_count, one_count = fibonacci_cnt(40)
-
-for _ in range(int(input())):
-    m = int(input())
-    print(f'{zero_count[m]} {one_count[m]}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/1009.py b/Python_BOJ_2021/1009.py
deleted file mode 100644
index 5574a3a..0000000
--- a/Python_BOJ_2021/1009.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 분산 처리
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-list = [[],
-        [1],
-        [6, 2, 4, 8],
-        [1, 3, 9, 7],
-        [6, 4],
-        [5],
-        [6],
-        [1, 7, 9, 3],
-        [6, 8, 4, 2],
-        [1, 9]]
-ans = []
-
-for _ in range(int(input())):
-    a, b = map(int ,input().split())
-    a = int(str(a)[-1])
-    if a != 0:
-        print(list[a][b % len(list[a])])
-    else:
-        print(10)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1011.py b/Python_BOJ_2021/1011.py
deleted file mode 100644
index dd00dca..0000000
--- a/Python_BOJ_2021/1011.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# fly me to the Alpha Centauri
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    x, y = map(int, input().split())
-
-    lr = y - x
-    cnt = 1
-
-    while True:
-        if cnt ** 2 <= lr < (cnt + 1) ** 2:
-            break
-        cnt += 1
-
-    if cnt ** 2 == lr:
-        print(cnt * 2 - 1)
-    elif cnt ** 2 < lr <= cnt ** 2 + cnt:
-        print(cnt * 2)
-    else:
-        print(cnt * 2 + 1)
-        
\ No newline at end of file
diff --git a/Python_BOJ_2021/1012.py b/Python_BOJ_2021/1012.py
deleted file mode 100644
index f703aa9..0000000
--- a/Python_BOJ_2021/1012.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 유기농 배추
-
-import sys
-sys.setrecursionlimit(100000)
-input = lambda : sys.stdin.readline().rstrip()
-
-dx = [-1, 1, 0, 0]
-dy = [0, 0, -1, 1]
-
-
-def dfs(x, y):
-    visited[x][y] = True
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-
-        if 0 <= nx < n and 0 <= ny < m:
-            if graph[nx][ny] == 1 and not visited[nx][ny]:
-                dfs(nx, ny)
-
-
-for _ in range(int(input())):
-    n, m, k = map(int, input().split())
-    graph = [[0] * (m+1) for _ in range(n+1)]
-    visited = [[False] * (m+1) for _ in range(n+1)]
-    cnt = 0
-
-    for _ in range(k):
-        x, y = map(int, input().split())
-        graph[x][y] = 1
-
-    for a in range(n):
-        for b in range(m):
-            if graph[a][b] == 1 and not visited[a][b]:
-                cnt += 1
-                dfs(a, b)
-
-    print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1012_2.py b/Python_BOJ_2021/1012_2.py
deleted file mode 100644
index dba92ca..0000000
--- a/Python_BOJ_2021/1012_2.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# 유기농 배추
-import sys
-sys.setrecursionlimit(1000001)
-input = lambda : sys.stdin.readline().rstrip()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y):
-    visited[x][y] = 1
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < m:
-            if graph[nx][ny] == 1 and not visited[nx][ny]:
-                dfs(nx, ny)
-
-
-for _ in range(int(input())):
-    m, n, k = map(int, input().split())
-    graph = [[0 for _ in range(m)] for _ in range(n)]
-    visited = [[0 for _ in range(m)] for _ in range(n)]
-
-    for _ in range(k):
-        y, x = map(int, input().split())
-        graph[x][y] = 1
-
-    ans = 0
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 1 and not visited[i][j]:
-                ans += 1
-                dfs(i, j)
-
-    print(ans)
diff --git a/Python_BOJ_2021/1012_3.py b/Python_BOJ_2021/1012_3.py
deleted file mode 100644
index 8cd1b3a..0000000
--- a/Python_BOJ_2021/1012_3.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 유기농 배추
-import sys
-sys.setrecursionlimit(10001)
-input = lambda :sys.stdin.readline().rstrip()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y):
-    visited[x][y] = 1
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < m:
-            if graph[nx][ny] == 1 and not visited[nx][ny]:
-                dfs(nx, ny)
-
-
-for _ in range(int(input())):
-    m, n, k = map(int, input().split())
-    graph = [[0 for _ in range(m)] for _ in range(n)]
-    visited = [[0 for _ in range(m)] for _ in range(n)]
-
-    for _ in range(k): # 배추 좌표에 배추를 1로 표시
-        y, x = map(int, input().split())
-        graph[x][y] = 1
-
-    answer = 0
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 1 and not visited[i][j]:
-                answer += 1
-                dfs(i, j)
-
-    print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1012_4.py b/Python_BOJ_2021/1012_4.py
deleted file mode 100644
index 0d709d7..0000000
--- a/Python_BOJ_2021/1012_4.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 유기농 배추
-import sys
-sys.setrecursionlimit(1000001)
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y):
-    visited[x][y] = True
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < m:
-            if graph[nx][ny] == 1 and not visited[nx][ny]:
-                dfs(nx, ny)
-
-
-for _ in range(int(input())):
-    m, n, k = map(int, input().split())
-    graph = [[0 for _ in range(m)] for _ in range(n)]
-    visited = [[False for _ in range(m)] for _ in range(n)]
-    for _ in range(k):
-        y, x = map(int, input().split())
-        graph[x][y] = 1
-
-    cnt = 0
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 1 and not visited[i][j]:
-                dfs(i, j)
-                cnt += 1
-    print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10157.py b/Python_BOJ_2021/10157.py
deleted file mode 100644
index e153324..0000000
--- a/Python_BOJ_2021/10157.py
+++ /dev/null
@@ -1,27 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-c, r = map(int, input().split())
-k = int(input())
-graph = [[0] * c for _ in range(r)]
-
-if r * c < k:
-    print(0)
-    exit()
-
-dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1]
-x, y, dir = r - 1, 0, 0
-cnt = 1
-
-while cnt != k:
-    graph[x][y] = cnt
-    nx, ny = x + dx[dir], y + dy[dir]
-
-    if nx < 0 or ny < 0 or nx >= r or ny >= c or graph[nx][ny] != 0:
-        dir += 1
-        if dir == 4: dir = 0
-        nx, ny = x + dx[dir], y + dy[dir]
-
-    x, y, cnt = nx, ny , cnt + 1
-
-print(f'{y + 1} {r - x}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/10157_2.py b/Python_BOJ_2021/10157_2.py
deleted file mode 100644
index cb3bc45..0000000
--- a/Python_BOJ_2021/10157_2.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1]
-C, R = map(int, input().split())
-K = int(input())
-graph = [[0] * C for _ in range(R)]
-
-x, y = R - 1, 0
-cnt, idx = 1, 0
-
-if C * R < K:
-    print(0)
-    exit(0)
-
-while cnt != K:
-    graph[x][y] = cnt
-    nx, ny = x + dx[idx], y + dy[idx]
-
-    if 0 > nx or 0 > ny or nx >= R or ny >= C or graph[nx][ny] != 0:
-        idx += 1
-        if idx > 4: idx = 0
-        nx, ny = x + dx[idx], y + dy[idx]
-
-    x, y = nx, ny
-    cnt += 1
-
-print(y + 1, R - x)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10157_3.py b/Python_BOJ_2021/10157_3.py
deleted file mode 100644
index 7372530..0000000
--- a/Python_BOJ_2021/10157_3.py
+++ /dev/null
@@ -1,23 +0,0 @@
-C, R = map(int, input().split())
-k = int(input())
-arr = [[0] * C for _ in range(R)]
-
-dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1]
-
-x, y = R - 1, 0
-cnt, d = 1, 0
-
-if C * R < k:
-    print(0)
-    exit(0)
-
-while cnt != k:
-    arr[x][y] = cnt
-    nx, ny = x + dx[d], y + dy[d]
-    if arr[nx][ny] != 0 or 0 > nx or 0 > ny or nx >= R or ny >= C:
-        d = (d + 1) % 4
-        nx, ny = x + dx[d], dy[d]
-    x, y = nx, ny
-    cnt += 1
-
-print(y + 1, R - x)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10158.py b/Python_BOJ_2021/10158.py
deleted file mode 100644
index a80a1a7..0000000
--- a/Python_BOJ_2021/10158.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# 개미
-
-w, h = map(int, input().split())
-p, q = map(int, input().split())
-t = int(input())
-
-a = (p + t) // w
-b = (q + t) // h
-
-if a % 2 == 0:
-    x = (p + t) % w
-else:
-    x = w - (p + t) % w
-
-if b % 2 == 0:
-    y = (q + t) % h
-else:
-    y = h - (q + t) % h
-
-print(x, y)
-
-
-# w, h = map(int, input().split())
-# p, q = map(int, input().split())
-# t = int(input())
-#
-# dx, dy = [1, -1, -1, 1], [1, 1, -1, -1]
-# cnt = 0
-# dir = 0
-#
-# while True:
-#     if t == cnt: break;
-#     cnt += 1
-#     new_p, new_q = p + dx[dir], q + dy[dir]
-#
-#     if 0 >= new_p or new_p >= w: # 왼쪽 오른쪽 벽에 부딫힐때
-#         if dir == 0: dir = 1
-#         elif dir == 1: dir = 0
-#         elif dir == 2: dir = 3
-#         elif dir == 3: dir = 2
-#
-#     if 0 >= new_q or new_q >= h: # 아래 위 벽에 부딫힐때
-#         if dir == 0: dir = 3
-#         elif dir == 1: dir = 2
-#         elif dir == 2: dir = 1
-#         elif dir == 3: dir = 0
-#
-#     p, q = new_p, new_q
-#
-# print(p, q)
-
-
diff --git a/Python_BOJ_2021/10162.py b/Python_BOJ_2021/10162.py
deleted file mode 100644
index 5c11e09..0000000
--- a/Python_BOJ_2021/10162.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 전자레인지
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-t = int(input())
-
-buttons = [300, 60, 10]
-cnt = [0, 0, 0]
-
-for i in range(len(buttons)):
-    cnt[i] += t // buttons[i]
-    t %= buttons[i]
-
-if t % buttons[i] != 0:
-    print(-1)
-
-else:
-    print(f'{cnt[0]} {cnt[1]} {cnt[2]}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/10173.py b/Python_BOJ_2021/10173.py
deleted file mode 100644
index 37bc852..0000000
--- a/Python_BOJ_2021/10173.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 니모를 찾아서
-name = [['n', 'N'], ['e', 'E'], ['m', 'M'], ['o', 'O']]
-
-while True:
-    s = input()
-    if s == 'EOI':
-        break
-    cnt, j = 0, 0
-    while j < len(s):
-        if s[j] in name[cnt]:
-            cnt += 1
-            if cnt == 4:
-                print('Found')
-                break
-        else:
-            cnt = 0
-        j += 1
-    else:
-        print('Missing')
\ No newline at end of file
diff --git a/Python_BOJ_2021/10174.py b/Python_BOJ_2021/10174.py
deleted file mode 100644
index bbd76a2..0000000
--- a/Python_BOJ_2021/10174.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 팰린드롬
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = list(map(str, input().lower()))
-    print('Yes' if s[::] == s[::-1] else 'No')
\ No newline at end of file
diff --git a/Python_BOJ_2021/1018.py b/Python_BOJ_2021/1018.py
deleted file mode 100644
index 292b2b5..0000000
--- a/Python_BOJ_2021/1018.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# 체스판 다시 칠하기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-arr = [list(input()) for _ in range(n)]
-
-min_num = None
-
-for i in range(n-7):
-    for j in range(m-7):
-        num1, num2 = 0, 0
-
-        for a in range(i, i+8):
-            for b in range(j, j+8):
-                if (a+b-i-j) % 2 == 0:
-                    if arr[a][b] == 'B':
-                        num1 += 1
-                else:
-                    if arr[a][b] == 'W':
-                        num1 += 1
-
-        for a in range(i, i+8):
-            for b in range(j, j+8):
-                if (a+b-i-j) % 2 == 0:
-                    if arr[a][b] == 'W':
-                        num2 += 1
-
-                else:
-                    if arr[a][b] == 'B':
-                        num2 += 1
-
-        change = num1 if num1 < num2 else num2
-        if min_num is None:
-            min_num = change
-
-        else:
-            min_num = change if min_num > change else min_num
-
-print(min_num)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1021.py b/Python_BOJ_2021/1021.py
deleted file mode 100644
index efe8156..0000000
--- a/Python_BOJ_2021/1021.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 회전하는 큐
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-N, M = map(int, input().split())
-arr = deque(i+1 for i in range(N))
-target = deque(map(int, input().split()))
-
-cnt = 0
-while target:
-    t = target.popleft()
-    idx = 0
-    for i in range(len(arr)):
-        if arr[i] == t:
-            idx = i
-
-    if 0 < idx <= len(arr) // 2: # arr배열의 왼쪽에 있다면
-        while idx:
-            arr.append(arr.popleft())
-            cnt += 1
-            idx -= 1
-            if idx == -1:
-                idx = len(arr) - 1
-        if arr[0] == t:
-            arr.popleft()
-    elif len(arr) // 2 < idx < len(arr): # arr배열의 오른쪽에 있다면
-        while idx:
-            arr.appendleft(arr.pop())
-            cnt += 1
-            idx += 1
-            if idx == len(arr):
-                idx = 0
-        if arr[0] == t:
-            arr.popleft()
-    else:
-        arr.popleft()
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10211.py b/Python_BOJ_2021/10211.py
deleted file mode 100644
index cb10e9c..0000000
--- a/Python_BOJ_2021/10211.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Maximum Subarray
-
-for _ in range(int(input())):
-    n = int(input())
-    arr = list(map(int, input().split()))
-    dp = [0] * n
-    dp[0] = arr[0]
-
-    for i in range(1, n):
-        dp[i] = max(dp[i - 1] + arr[i], arr[i])
-    print(max(dp))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10250.py b/Python_BOJ_2021/10250.py
deleted file mode 100644
index 8a13144..0000000
--- a/Python_BOJ_2021/10250.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# ACM 호텔
-
-T = int(input())
-
-for _ in range(T):
-    H, W, N = map(int, input().split())
-    count = 0
-
-    for j in range(1, W+1):
-        for i in range(1, H+1):
-            count += 1
-
-            if N == count:
-                if j < 10:
-                    print(f'{i}0{j}')
-                else:
-                    print(f'{i}{j}')
-
-
-
-
-
diff --git a/Python_BOJ_2021/10282.py b/Python_BOJ_2021/10282.py
deleted file mode 100644
index c6d9bbf..0000000
--- a/Python_BOJ_2021/10282.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 해킹
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-def dijikstra(start):
-    queue = list()
-    heapq.heappush(queue, (0, start))
-    distance[start] = 0
-
-    while queue:
-        cost, current = heapq.heappop(queue)
-        if distance[current] < cost: continue
-        for i in graph[current]:
-            cost2 = cost + i[1]
-            if cost2 < distance[i[0]]:
-                distance[i[0]] = cost2
-                heapq.heappush(queue, (cost2, i[0]))
-
-
-for _ in range(int(input())):
-    n, d, c = map(int, input().split())
-    graph = [[] for _ in range(n + 1)]
-    distance = [INF] * (n + 1)
-
-    for _ in range(d):
-        a, b, s = map(int, input().split())
-        graph[b].append([a, s])
-
-    dijikstra(c)
-    cnt, ans = 0, 0
-
-    for i in range(1, len(distance)):
-        if distance[i] != INF:
-            cnt += 1
-            ans = max(ans, distance[i])
-
-    print(cnt, ans)
diff --git a/Python_BOJ_2021/1032.py b/Python_BOJ_2021/1032.py
deleted file mode 100644
index a3a94a1..0000000
--- a/Python_BOJ_2021/1032.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 명령 프롬프트
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-a = list(input())
-
-for i in range(n-1):
-    b = list(input())
-    for j in range(len(a)):
-        if a[j] != b[j]:
-            a[j] = '?'
-
-print(''.join(a))
diff --git a/Python_BOJ_2021/1041.py b/Python_BOJ_2021/1041.py
deleted file mode 100644
index 1770fba..0000000
--- a/Python_BOJ_2021/1041.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 주사위
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-a, b, c, d, e, f = map(int, input().split())
-
-if n == 1:
-    print(sum([a, b, c, d, e, f]) - max([a, b, c, d, e, f]))
-
-else:
-    three_cnt = min(list(map(sum, [[a, b, c], [a, b, d], [a, e, d], [a, e, c], [f, b, c], [f, b, d], [f, e, c], [f, e, d]])))
-    two_cnt = min(list(map(sum, [[a, b], [a, c], [a, d], [a, e], [b, c], [b, d], [e, c], [e, d], [f, b], [f, c], [f, e], [f, d]])))
-    one_cnt = min([a, b, c, d, e, f])
-
-    print(three_cnt * 4 + two_cnt * (8 * n - 12) + one_cnt * ((n - 2) * (5 * n - 6)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10451.py b/Python_BOJ_2021/10451.py
deleted file mode 100644
index f2bdcd1..0000000
--- a/Python_BOJ_2021/10451.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 순열 사이클
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-sys.setrecursionlimit(1000001)
-
-
-def dfs(i):
-    visited[i] = 1
-    a = arr[i]
-    if not visited[a]:
-        dfs(a)
-
-
-for _ in range(int(input())):
-    n = int(input())
-    arr = [0] + list(map(int, input().split()))
-    visited = [1] + [0] * n
-    ans = 0
-    for i in range(1, n + 1):
-        if not visited[i]:
-            dfs(i)
-            ans += 1
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10552.py b/Python_BOJ_2021/10552.py
deleted file mode 100644
index 5a153a6..0000000
--- a/Python_BOJ_2021/10552.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# DOM
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m, p = map(int, input().split())
-graph = [[] for _ in range(m + 1)]
-visited = [[] for _ in range(m + 1)]
-
-for _ in range(n):
-    a, b = map(int, input().split())
-    graph[b].append(a)
-    visited[b].append(0)
-
-
-def bfs(ch):
-    queue = deque()
-    queue.append(ch)
-    cnt = 0
-    while queue:
-        cur = queue.popleft()
-        for i in range(len(graph[cur])):
-            if graph[cur][i] != 0 and visited[cur][i] == 0:
-                queue.append(graph[cur][i])
-                visited[cur][i] = 1
-                cnt += 1
-                break
-            if visited[cur][i] == 1:
-                return -1
-    return cnt
-
-
-print(bfs(p))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10610.py b/Python_BOJ_2021/10610.py
deleted file mode 100644
index 2445b79..0000000
--- a/Python_BOJ_2021/10610.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 30
-
-n = list(input())
-n.sort(reverse=True)
-sum = 0
-
-for i in n:
-    sum += int(i)
-
-if sum % 3 != 0 or "0" not in n:
-    print(-1)
-else:
-    print(''.join(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1062.py b/Python_BOJ_2021/1062.py
deleted file mode 100644
index b65b605..0000000
--- a/Python_BOJ_2021/1062.py
+++ /dev/null
@@ -1,60 +0,0 @@
-# 가르침 - 못 풀겠다 시간초과 ㅡ,.ㅡ 자바로 풀었음
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def dfs(idx, cnt):
-    global max_v, global_flag
-
-    if max_v == n:
-        return
-
-    if cnt == k-5:
-        global_flag, ans = 1, 0
-        for i in range(n):
-            flag = 0
-            for j in range(len(texts[i])):
-                if D[ord(texts[i][j]) - 97]:
-                    pass
-                else:
-                    flag = 1
-                    break
-            if flag == 0:
-                ans += 1
-        if ans > max_v:
-            max_v = ans
-        return
-
-    for i in range(idx, len(l)):
-        if not D[ord(l[i]) - 97]:
-            cnt += 1
-            D[ord(l[i]) - 97] = True
-            dfs(i, cnt)
-            cnt -= 1
-            D[ord(l[i]) - 97] = False
-    if global_flag == 0:
-        max_v = n
-
-
-n, k = map(int, input().split())
-
-if k < 5:
-    print(0)
-else:
-    global_flag = 0
-    D = [False] * 26
-    D[ord('a') - 97], D[ord('c') - 97], D[ord('t') - 97], D[ord('i') - 97], D[ord('n') - 97] = True, True, True, True, True
-    l, texts = list(), list()
-    max_v = 0
-
-    for _ in range(n):
-        text = input()
-        text = text[4:len(text) - 4]
-        for i in range(len(text)):
-            if not D[ord(text[i]) - 97] and text[i] not in l:
-                l.append(text[i])
-        texts.append(text)
-
-    dfs(0, 0)
-    print(max_v)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1063.py b/Python_BOJ_2021/1063.py
deleted file mode 100644
index 156bb56..0000000
--- a/Python_BOJ_2021/1063.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 킹
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [1, -1, 0, 0, 1, -1, 1, -1], [0, 0, -1, 1, 1, 1, -1, -1]
-move = ['R', 'L', 'B', 'T', 'RT', 'LT', 'RB', 'LB']
-king, stone, n = map(str, input().split())
-
-# king 위치 체크
-king_x, king_y = ord(king[0]) - ord('A'), int(king[1])
-# stone 위치 체크
-stone_x, stone_y = ord(stone[0]) - ord('A'), int(stone[1])
-
-# 커맨드 받기
-for _ in range(int(n)):
-    d = move.index(input())
-    nx, ny = king_x + dx[d], king_y + dy[d]
-
-    if nx < 0 or ny < 1 or nx > 7 or ny > 8:
-        continue
-    if nx == stone_x and ny == stone_y:
-        stone_nx, stone_ny = stone_x + dx[d], stone_y + dy[d]
-        if stone_nx < 0 or stone_ny < 1 or stone_nx > 7 or stone_ny > 8:
-            continue
-        stone_x, stone_y = stone_nx, stone_ny
-    king_x, king_y = nx, ny
-
-print(f'{chr(king_x + ord("A"))}{king_y}')
-print(f'{chr(stone_x + ord("A"))}{stone_y}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/1065.py b/Python_BOJ_2021/1065.py
deleted file mode 100644
index 670f5b3..0000000
--- a/Python_BOJ_2021/1065.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 한수
-
-ans = 0
-
-def Hansu(x):
-    global ans
-    if x//100 - x%100 //10 is x%100 // 10 - x%10:
-        ans += 1
-    return ans
-
-a = int(input())
-
-for i in range(1, a+1):
-    if i < 100:
-        ans += 1
-    else:
-        Hansu(i)
-
-print(ans)
-
diff --git a/Python_BOJ_2021/1068.py b/Python_BOJ_2021/1068.py
deleted file mode 100644
index daf3679..0000000
--- a/Python_BOJ_2021/1068.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# 트리
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-node = list(map(int, input().split()))
-delete_node = int(input())
-
-graph = [[0] * n for _ in range(n)]
-visited = [0] * n
-cnt = 0
-
-for i in range(n):
-    if node[i] != -1:
-        graph[i][node[i]] = 1
-        graph[node[i]][i] = 1
-    else:
-        root = i
-
-for i in range(n):
-    graph[i][delete_node] = 0
-    graph[delete_node][i] = 0
-
-
-def dfs(node):
-    global cnt
-    switch = 0
-    visited[node] = 1
-    for i in range(n):
-        if not visited[i] and graph[node][i]:
-            switch = 1
-            dfs(i)
-    if not switch:
-        cnt += 1
-
-
-dfs(root)
-
-if delete_node == root:
-    print(0)
-else:
-    print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1076.py b/Python_BOJ_2021/1076.py
deleted file mode 100644
index 8df3db7..0000000
--- a/Python_BOJ_2021/1076.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 저항
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = []
-regist = ['black', 'brown', 'red', 'orange', 'yellow', 'green', 'blue', 'violet', 'grey', 'white']
-for _ in range(3):
-    s = input()
-    arr.append(s)
-
-tmp = ''
-tmp2 = 0
-
-for i in range(2):
-    for j in range(len(regist)):
-        if regist[j] == arr[i]:
-            tmp += str(j)
-
-for i in range(len(regist)):
-    if arr[-1] == regist[i]:
-        tmp2 = pow(10, i)
-
-print(int(tmp) * tmp2)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10769.py b/Python_BOJ_2021/10769.py
deleted file mode 100644
index c4ac4da..0000000
--- a/Python_BOJ_2021/10769.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 행복한지 슬픈지
-import sys
-s = sys.stdin.readline().rstrip()
-
-hap = s.count(":-)")
-sad = s.count(":-(")
-
-if not hap and not sad: print("none")
-elif hap == sad: print("unsure")
-elif hap > sad: print("happy")
-elif hap < sad: print("sad")
\ No newline at end of file
diff --git a/Python_BOJ_2021/10773.py b/Python_BOJ_2021/10773.py
deleted file mode 100644
index c364f51..0000000
--- a/Python_BOJ_2021/10773.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 제로
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = list()
-for _ in range(int(input())):
-    n = int(input())
-    if n == 0:
-        arr.pop()
-    elif n != 0:
-        arr.append(n)
-
-print(sum(arr))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10779.py b/Python_BOJ_2021/10779.py
deleted file mode 100644
index dc5ec8b..0000000
--- a/Python_BOJ_2021/10779.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 쇠막대기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-q = list(input())
-
-ans = 0
-stack = []
-
-for i in range(len(q)):
-    if q[i] == '(':
-        stack.append(q[i])
-
-    else:
-        if q[i - 1] == '(':
-            stack.pop()
-            ans += len(stack)
-        else:
-            stack.pop()
-            ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10798.py b/Python_BOJ_2021/10798.py
deleted file mode 100644
index b4a58a1..0000000
--- a/Python_BOJ_2021/10798.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 세로읽기
-tmp = []
-max_len = 0
-
-for _ in range(5):
-    word = input()
-    tmp.append(list(word))
-
-    if len(word) > max_len:
-        max_len = len(word)
-
-answer = ''
-i = 0
-
-while i < max_len:
-    for j in range(5):
-        if len(tmp[j]) != 0:
-            answer += tmp[j].pop(0)
-    i += 1
-
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1080.py b/Python_BOJ_2021/1080.py
deleted file mode 100644
index 91d19b7..0000000
--- a/Python_BOJ_2021/1080.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# 행렬
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-A = [list(map(int, input())) for _ in range(n)]
-B = [list(map(int, input())) for _ in range(n)]
-
-cnt = 0
-
-'''
-0000
-0010
-0000
-
-1110
-1100
-1110
-
-1001
-1011
-1001
-
-'''
-
-def check():
-    for i in range(n):
-        for j in range(m):
-            if A[i][j] != B[i][j]:
-                return False
-
-    return True
-
-
-def change(x, y):
-    for i in range(x, x+3):
-        for j in range(y, y+3):
-            A[i][j] = 1- A[i][j]
-
-
-for i in range(0, n-2):
-    for j in range(0, m-2):
-        if A[i][j] != B[i][j]:
-            cnt += 1
-            change(i, j)
-
-if check():
-    print(cnt)
-else:
-    print(-1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10809.py b/Python_BOJ_2021/10809.py
deleted file mode 100644
index 6ce0fad..0000000
--- a/Python_BOJ_2021/10809.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# 알파벳 찾기
-
-print(*map(input().find, map(chr, range(97,123))), sep=' ')
diff --git a/Python_BOJ_2021/10814.py b/Python_BOJ_2021/10814.py
deleted file mode 100644
index cd56c68..0000000
--- a/Python_BOJ_2021/10814.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 나이순 정렬
-
-N = int(input())
-
-arr = []
-
-for i in range(N):
-    input_data = input().split()
-    arr.append((int(input_data[0]), input_data[1]))
-
-arr = sorted(arr, key=lambda student: student[0])
-
-for i in arr:
-    print(*i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10815.py b/Python_BOJ_2021/10815.py
deleted file mode 100644
index 9b0998b..0000000
--- a/Python_BOJ_2021/10815.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 숫자 카드
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = set(map(int, input().split()))
-
-m = int(input())
-arr2 = list(map(int, input().split()))
-
-for i in range(len(arr2)):
-    if arr2[i] in arr:
-        arr2[i] = 1
-    else:
-        arr2[i] = 0
-
-for i in range(len(arr2)):
-    print(arr2[i], end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2021/10816.py b/Python_BOJ_2021/10816.py
deleted file mode 100644
index b62c520..0000000
--- a/Python_BOJ_2021/10816.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 숫자 카드2
-
-n = int(input())
-cards = list(map(int, input().split()))
-
-m = int(input())
-list = list(map(int, input().split()))
-
-ans = {}
-
-for i in cards:
-    if i not in ans:
-        ans[i] = 1
-    else:
-        ans[i] += 1
-
-for j in list:
-    if j in ans:
-        print(ans[j], end=' ')
-    else:
-        print(0, end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2021/10818.py b/Python_BOJ_2021/10818.py
deleted file mode 100644
index 748087c..0000000
--- a/Python_BOJ_2021/10818.py
+++ /dev/null
@@ -1,4 +0,0 @@
-n = int(input())
-numbers = list(map(int,input().split()))
-
-print("{} {}".format(min(numbers), max(numbers)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10819.py b/Python_BOJ_2021/10819.py
deleted file mode 100644
index 99efa68..0000000
--- a/Python_BOJ_2021/10819.py
+++ /dev/null
@@ -1,17 +0,0 @@
-from itertools import permutations
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-input = list(map(int, input().split()))
-
-ans = 0
-for i in permutations(input):
-    tmp = list(i)
-    max_ = 0
-    for i in range(0, len(tmp) - 1):
-        max_ += abs(tmp[i] - tmp[i + 1])
-    if max_ > ans:
-        ans = max_
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10821.py b/Python_BOJ_2021/10821.py
deleted file mode 100644
index 82e48b1..0000000
--- a/Python_BOJ_2021/10821.py
+++ /dev/null
@@ -1,2 +0,0 @@
-# 정수의 개수
-print(len(list(map(int, input().split(',')))))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10823.py b/Python_BOJ_2021/10823.py
deleted file mode 100644
index 7ac9b0a..0000000
--- a/Python_BOJ_2021/10823.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 더하기 2
-s = ''
-while True:
-    try:
-        s += input().strip()
-    except:
-        break
-print(sum(map(int, s.split(','))))
diff --git a/Python_BOJ_2021/10828.py b/Python_BOJ_2021/10828.py
deleted file mode 100644
index 2e728e0..0000000
--- a/Python_BOJ_2021/10828.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 스택
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-stack = list()
-for _ in range(int(input())):
-    cmd = input().split()
-
-    if cmd[0] == 'push':
-        stack.append(int(cmd[1]))
-    elif cmd[0] == 'pop':
-        if len(stack) == 0: print(-1)
-        else: print(stack.pop())
-    elif cmd[0] == 'size':
-        print(len(stack))
-    elif cmd[0] == 'empty':
-        if len(stack) == 0: print(1)
-        else: print(0)
-    elif cmd[0] == 'top':
-        if len(stack) == 0: print(-1)
-        else: print(stack[-1])
diff --git a/Python_BOJ_2021/10829.py b/Python_BOJ_2021/10829.py
deleted file mode 100644
index 905f6ab..0000000
--- a/Python_BOJ_2021/10829.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 이진수 변환
-import sys
-n = int(sys.stdin.readline().rstrip())
-answer = ''
-
-
-def recursive(n):
-    global answer
-
-    if n == 1:
-        answer += str(n)
-        print(answer[::-1])
-        return
-    answer += str(n % 2)
-    recursive(n // 2)
-
-
-recursive(n)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10844.py b/Python_BOJ_2021/10844.py
deleted file mode 100644
index 90a74d4..0000000
--- a/Python_BOJ_2021/10844.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 쉬운 계단 수
-import sys
-n = int(sys.stdin.readline().rstrip())
-
-dp = [[-1] * 10 for _ in range(n)]
-
-dp[0] = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
-
-for level in range(1, n):
-    for idx in range(0, 10):
-        if idx == 0:
-            dp[level][idx] = dp[level-1][1]
-        elif idx == 9:
-            dp[level][idx] = dp[level-1][8]
-        else:
-            dp[level][idx] = dp[level-1][idx-1] + dp[level-1][idx+1]
-
-print(sum(dp[n-1][1:]) % 1000000000)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1085.py b/Python_BOJ_2021/1085.py
deleted file mode 100644
index bf48f51..0000000
--- a/Python_BOJ_2021/1085.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 직사각형에서 탈출
-
-x, y, w, h = list(map(int, input().split()))
-
-a = abs(h-y)
-b = abs(w-x)
-
-print(min(a,b,x,y))
diff --git a/Python_BOJ_2021/10866.py b/Python_BOJ_2021/10866.py
deleted file mode 100644
index 341c3d0..0000000
--- a/Python_BOJ_2021/10866.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 덱
-from collections import deque
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-queue = deque()
-for _ in range(int(input())):
-    cmd = input().split()
-
-    if cmd[0] == 'push_front':
-        queue.appendleft(int(cmd[1]))
-    if cmd[0] == 'push_back':
-        queue.append(int(cmd[1]))
-    elif cmd[0] == 'pop_front':
-        if len(queue) == 0: print(-1)
-        else: print(queue.popleft())
-    elif cmd[0] == 'pop_back':
-        if len(queue) == 0: print(-1)
-        else: print(queue.pop())
-    elif cmd[0] == 'size':
-        print(len(queue))
-    elif cmd[0] == 'empty':
-        if len(queue) == 0: print(1)
-        else: print(0)
-    elif cmd[0] == 'front':
-        if len(queue) == 0: print(-1)
-        else: print(queue[0])
-    elif cmd[0] == 'back':
-        if len(queue) == 0: print(-1)
-        else: print(queue[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/10870.py b/Python_BOJ_2021/10870.py
deleted file mode 100644
index 68e73ec..0000000
--- a/Python_BOJ_2021/10870.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 피보나치 수5
-
-def Fibonacci(n):
-    if n == 0:
-        return 0
-    elif n == 1:
-        return 1
-    else:
-        return Fibonacci(n-1) + Fibonacci(n-2)
-
-n = int(input())
-print(Fibonacci(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10872.py b/Python_BOJ_2021/10872.py
deleted file mode 100644
index bde44d5..0000000
--- a/Python_BOJ_2021/10872.py
+++ /dev/null
@@ -1,10 +0,0 @@
-#팩토리얼
-
-def pactorial(n):
-    if n <= 1:
-        return 1
-    else:
-        return n * pactorial(n-1)
-
-n = int(input())
-print(pactorial(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10942.py b/Python_BOJ_2021/10942.py
deleted file mode 100644
index 85d2440..0000000
--- a/Python_BOJ_2021/10942.py
+++ /dev/null
@@ -1,20 +0,0 @@
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-dp = [[-1] * n for _ in range(n)]
-
-
-def func(start, end):
-    if start >= end: return 1
-    if dp[start][end] != -1: return dp[start][end]
-    if arr[start] != arr[end]: return 0
-    dp[start][end] = func(start + 1, end - 1)
-    return dp[start][end]
-
-
-for i in range(int(input())):
-    x, y = map(int, input().split())
-    print(func(x - 1, y - 1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/10972.py b/Python_BOJ_2021/10972.py
deleted file mode 100644
index 8aa0158..0000000
--- a/Python_BOJ_2021/10972.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 다음 순열
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-x = 0
-
-for i in range(n - 1, 0, -1):
-    if arr[i - 1] < arr[i]:
-        x = i - 1
-        break
-
-for i in range(n - 1, 0, -1):
-    if arr[x] < arr[i]:
-        arr[x], arr[i] = arr[i], arr[x]
-        arr = arr[:x + 1] + sorted(arr[x + 1:])
-        print(*arr)
-        exit()
-
-print(-1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10987.py b/Python_BOJ_2021/10987.py
deleted file mode 100644
index 705514c..0000000
--- a/Python_BOJ_2021/10987.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 모음의 개수
-import sys
-
-s = sys.stdin.readline().rstrip()
-a = ['a', 'e', 'i', 'o', 'u']
-
-ans = 0
-
-for i in range(len(s)):
-    for j in a:
-        if s[i] == j:
-            ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10988.py b/Python_BOJ_2021/10988.py
deleted file mode 100644
index 8b4c71a..0000000
--- a/Python_BOJ_2021/10988.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 팰린드롬인지 확인하기
-s = input()
-r = list()
-
-for i in range(len(s)-1, -1, -1):
-    r.append(s[i])
-
-if s == ''.join(r):
-    print(1)
-else:
-    print(0)
diff --git a/Python_BOJ_2021/10989.py b/Python_BOJ_2021/10989.py
deleted file mode 100644
index 4b7ec7a..0000000
--- a/Python_BOJ_2021/10989.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 수 정렬하기 3 - 계수정렬
-import sys
-
-n = int(sys.stdin.readline())
-counts = [0] * 10001
-
-for i in range(n):
-    tmp = int(sys.stdin.readline())
-    counts[tmp] += 1
-
-for i in range(len(counts)):
-    for j in range(counts[i]):
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/10996.py b/Python_BOJ_2021/10996.py
deleted file mode 100644
index 108e184..0000000
--- a/Python_BOJ_2021/10996.py
+++ /dev/null
@@ -1,7 +0,0 @@
-n = int(input())
-
-for i in range(1, 2 * n + 1):
-    if i % 2 != 0:
-        print('*' + ((n-1)//2 * (" "+"*")))
-    else:
-        print(' '+ (n//2) * ("*"+" "))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1100.py b/Python_BOJ_2021/1100.py
deleted file mode 100644
index 10f3c78..0000000
--- a/Python_BOJ_2021/1100.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 하얀 칸
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-graph = [list(input()) for _ in range(8)]
-ans = 0
-for i in range(8):
-    for j in range(8):
-        if i % 2 == 0 and j % 2 == 0:
-            if graph[i][j] == 'F': ans += 1
-
-        if i % 2 == 1 and j % 2 == 1:
-            if graph[i][j] == 'F': ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11000.py b/Python_BOJ_2021/11000.py
deleted file mode 100644
index 6438aef..0000000
--- a/Python_BOJ_2021/11000.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 강의실 배정
-import sys, heapq
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-a = [list(map(int, input().split())) for _ in range(n)]
-arr = sorted(a, key=lambda x: x[0])
-
-queue = list()
-heapq.heappush(queue, arr[0][1])
-
-for c in arr[1:]:
-    if c[0] >= queue[0]:
-        heapq.heappop(queue)
-    heapq.heappush(queue, c[1])
-
-print(len(queue))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11004.py b/Python_BOJ_2021/11004.py
deleted file mode 100644
index 8c29bf1..0000000
--- a/Python_BOJ_2021/11004.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# K번째 수
-
-n, k = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-print(arr[k - 1])
-
diff --git a/Python_BOJ_2021/11024.py b/Python_BOJ_2021/11024.py
deleted file mode 100644
index bd43f1c..0000000
--- a/Python_BOJ_2021/11024.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 더하기 4
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    arr = list(map(int, input().split()))
-    print(sum(arr))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11047.py b/Python_BOJ_2021/11047.py
deleted file mode 100644
index f9eae77..0000000
--- a/Python_BOJ_2021/11047.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 동전 0
-
-N, K = map(int, input().split())
-
-pouch = []
-cnt = 0
-
-for _ in range(N):
-    coin = int(input())
-    pouch.append(coin)
-
-pouch.sort(reverse=True)
-
-for i in pouch:
-    cnt += K // i
-    K = K % i
-
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1105.py b/Python_BOJ_2021/1105.py
deleted file mode 100644
index 0b8cb45..0000000
--- a/Python_BOJ_2021/1105.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 팔
-A, B = map(str, input().split(' '))
-
-ret = 0
-
-if len(A) != len(B):
-    print(0)
-
-for i in range(len(A)):
-    if A[i] == B[i]:
-        if A[i] == '8':
-            ret += 1
-    else:
-        break
-print(ret)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11053.py b/Python_BOJ_2021/11053.py
deleted file mode 100644
index f091b18..0000000
--- a/Python_BOJ_2021/11053.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 가장 긴 증가하는 부분 수열
-
-import sys
-from bisect import bisect_left
-
-A = int(sys.stdin.readline().rstrip())
-arr = list(map(int, sys.stdin.readline().rstrip().split()))
-
-dp = []
-
-for i in arr:
-    bin_res = bisect_left(dp, i)
-
-    if len(dp) <= bin_res:
-        dp.append(i)
-
-    else:
-        dp[bin_res] = i
-
-print(len(dp))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11054.py b/Python_BOJ_2021/11054.py
deleted file mode 100644
index a3071b0..0000000
--- a/Python_BOJ_2021/11054.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# 가장 긴 바이토닉 부분 수열
-
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-dp1 = [1] * n
-dp2 = [1] * n
-ans = [0] * n
-
-def up_side(n):
-    for i in range(n):
-        for j in range(i+1, n):
-            if arr[i] < arr[j]:
-                dp1[j] = max(dp1[i] + 1, dp1[j])
-    return dp1
-
-def down_side(n):
-    for i in range(n-1, -1, -1):
-        for j in range(i-1, -1, -1):
-            if arr[i] < arr[j]:
-                dp2[j] = max(dp2[i] + 1, dp2[j])
-    return dp2
-
-up_side(n)
-down_side(n)
-
-for i in range(n):
-    ans[i] = dp1[i] + dp2[i] -1
-
-
-print(max(ans))
diff --git a/Python_BOJ_2021/11055.py b/Python_BOJ_2021/11055.py
deleted file mode 100644
index 87eaa96..0000000
--- a/Python_BOJ_2021/11055.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 가장 큰 증가 부분 수열
-# 27687512	hoijae0194	 11055	맞았습니다!!	28776	180	Python 3 / 수정	217
-N = int(input())
-A = list(map(int, input().split()))
-dp = [0] * N
-
-for i in range(N):
-    tmp = 0
-    for j in range(i):
-        if A[i] > A[j]:
-            tmp = max(tmp, dp[j])
-    dp[i] = tmp + A[i]
-
-print(max(dp))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11098.py b/Python_BOJ_2021/11098.py
deleted file mode 100644
index be1960d..0000000
--- a/Python_BOJ_2021/11098.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 첼시를 도와줘
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    max_price, max_name = 0, ''
-
-    for i in range(int(input())):
-        price, name = input().split()
-        price = int(price)
-
-        if price > max_price:
-            max_price = price
-            max_name = name
-
-    print(max_name)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1120.py b/Python_BOJ_2021/1120.py
deleted file mode 100644
index 22c063b..0000000
--- a/Python_BOJ_2021/1120.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 문자열
-
-x, y = input().split()
-y = list(y)
-
-max_cnt = 0
-
-while len(x) <= len(y):
-    cnt = 0
-    for i in range(len(x)):
-        if x[i] == y[i]:
-            cnt += 1
-    max_cnt = max(max_cnt, cnt)
-    del y[0]
-    
-print(len(x) - max_cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11256.py b/Python_BOJ_2021/11256.py
deleted file mode 100644
index dd9e2e9..0000000
--- a/Python_BOJ_2021/11256.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 사탕
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    j, n = map(int, input().split())
-    arr = [list(map(int, input().split())) for _ in range(n)]
-
-    for i in range(len(arr)):
-        arr[i] = arr[i][0] * arr[i][1]
-    arr.sort(reverse=True)
-
-    ans = 0
-    for i in arr:
-        j -= i
-        ans += 1
-        if j <= 0: break
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11279.py b/Python_BOJ_2021/11279.py
deleted file mode 100644
index aec3ed2..0000000
--- a/Python_BOJ_2021/11279.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 최대 힙
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    a = int(input())
-    if a == 0:
-        if len(arr) == 0:
-            print(0)
-        else:
-            print(heapq.heappop(arr)[1])
-    else:
-        heapq.heappush(arr, (-a, a))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11279_2.py b/Python_BOJ_2021/11279_2.py
deleted file mode 100644
index 892da8d..0000000
--- a/Python_BOJ_2021/11279_2.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 최대 힙
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-heap = []
-
-for _ in range(n):
-    s = int(input())
-    if s == 0:
-        if len(heap) == 0:
-            print(0)
-        else:
-            print(heapq.heappop(heap)[1])
-    else:
-        heapq.heappush(heap, [-s, s])
diff --git a/Python_BOJ_2021/11286.py b/Python_BOJ_2021/11286.py
deleted file mode 100644
index 33517b1..0000000
--- a/Python_BOJ_2021/11286.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 절댓값 힙
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    a = int(input())
-    if a == 0:
-        if len(arr) == 0:
-            print(0)
-        else:
-            print(heapq.heappop(arr)[1])
-    else:
-        heapq.heappush(arr, (abs(a), a))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11365.py b/Python_BOJ_2021/11365.py
deleted file mode 100644
index 327d758..0000000
--- a/Python_BOJ_2021/11365.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# !밀비 급일
-import sys
-from collections import deque
-
-while True:
-    s = sys.stdin.readline().rstrip()
-    if s == 'END': break
-
-    tmp = deque()
-    for i in range(len(s)):
-        tmp.appendleft(s[i])
-
-    print(''.join(tmp))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1138.py b/Python_BOJ_2021/1138.py
deleted file mode 100644
index 7f3b116..0000000
--- a/Python_BOJ_2021/1138.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 한 줄로 서기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int,input().split()))
-ans = [0] * n
-
-for i in range(1, n+1):
-    num = arr[i-1]
-    cnt = 0
-    for j in range(n):
-        if ans[j] == 0 and cnt == num:
-            ans[j] = i
-            break
-
-        if ans[j] == 0:
-            cnt += 1
-
-print(*ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11383.py b/Python_BOJ_2021/11383.py
deleted file mode 100644
index 1552d8e..0000000
--- a/Python_BOJ_2021/11383.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# 뚊
-n, m = map(int, input().split())
-
-answer = []
-for _ in range(n):
-    sentence = input()
-    answer.append(sentence)
-answer.sort()
-
-compare = []
-for _ in range(n):
-    sentence2 = input()
-    compare.append(sentence2)
-compare.sort()
-
-flag = False
-for i in range(n):
-    tmp = ''
-    for j in answer[i]:
-        tmp += j * 2
-
-    if tmp != compare[i]:
-        print("Not Eyfa")
-        exit(0)
-
-print("Eyfa")
\ No newline at end of file
diff --git a/Python_BOJ_2021/11399.py b/Python_BOJ_2021/11399.py
deleted file mode 100644
index 5c4c6ce..0000000
--- a/Python_BOJ_2021/11399.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# ATM
-
-N = int(input())
-Time = list(map(int, input().split()))
-Time.sort()
-
-ans = 0
-for i in range(N):
-    for j in range(N-i):
-        ans += Time[j]
-
-print(ans)
-
-'''
-업무를 빠르게 처리하는 순서 : 1 2 3 3 4
-
-0 1 2 3 4
-ans = 1
-ans = 1 + 2
-ans = 1 + 2 + 3
-ans = 1 + 2 + 3 + 3
-ans = 1 + 2 + 3 + 3 + 4 = 13
-
-0 1 2 3
-ans = 13 + 1
-ans = 13 + 1 + 2
-ans = 13 + 1 + 2 + 3
-ans = 13 + 1 + 2 + 3 + 3 = 22
-
-0 1 2
-ans = 22 + 1
-ans = 22 + 1 + 2
-ans = 22 + 1 + 2 + 3 = 28
-
-0 1
-ans = 28 + 1
-ans = 28 + 1 + 2 = 31
-
-0
-ans = 31 + 1 = 32
-
-'''
\ No newline at end of file
diff --git a/Python_BOJ_2021/11399_2.py b/Python_BOJ_2021/11399_2.py
deleted file mode 100644
index c5d285e..0000000
--- a/Python_BOJ_2021/11399_2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# ATM
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-p = list(map(int, input().split()))
-p.sort()
-
-ans = 0
-
-for i in range(n):
-    ans += sum(p[:i + 1])
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11403.py b/Python_BOJ_2021/11403.py
deleted file mode 100644
index ee921df..0000000
--- a/Python_BOJ_2021/11403.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-sys.setrecursionlimit(1000000)
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [False] * n
-
-
-def dfs(x, y):
-    visited[y] = True
-    graph[x][y] = 1
-
-    for i in range(n):
-        if not visited[i] and graph[y][i] == 1:
-            dfs(x, i)
-
-
-for i in range(n):
-    for j in range(n):
-        visited[j] = False
-
-    for j in range(n):
-        if graph[i][j] == 1 and not visited[j]:
-            dfs(i, j)
-
-for i in range(n):
-    print(" ".join(map(str, graph[i])))
\ No newline at end of file
diff --git "a/Python_BOJ_2021/11404-\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274\355\222\200\354\235\264.py" "b/Python_BOJ_2021/11404-\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274\355\222\200\354\235\264.py"
deleted file mode 100644
index 775bce3..0000000
--- "a/Python_BOJ_2021/11404-\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274\355\222\200\354\235\264.py"
+++ /dev/null
@@ -1,41 +0,0 @@
-# 플로이드
-from heapq import *
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-
-def dijikstra(start):
-    queue = list()
-    distance = [INF] * (n + 1)
-    heappush(queue, (0, start))
-    distance[start] = 0
-
-    while queue:
-        cost, current = heappop(queue)
-        if distance[current] < cost: continue
-        for i in graph[current]:
-            cost2 = cost + i[1]
-            if distance[i[0]] > cost2:
-                distance[i[0]] = cost2
-                heappush(queue, (cost2, i[0]))
-    return distance
-
-
-n = int(input())
-m = int(input())
-
-graph = [[] for _ in range(n + 1)]
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append([to_, weight])
-
-answer = list()
-for i in range(1, n + 1):
-    answer.append(dijikstra(i))
-
-for i in range(n):
-    for j in range(1, n + 1):
-        if answer[i][j] == INF: answer[i][j] = 0
-        print(answer[i][j], end=' ')
-    print()
\ No newline at end of file
diff --git "a/Python_BOJ_2021/11404-\355\224\214\354\231\200\355\222\200\354\235\264.py" "b/Python_BOJ_2021/11404-\355\224\214\354\231\200\355\222\200\354\235\264.py"
deleted file mode 100644
index 34c7c5c..0000000
--- "a/Python_BOJ_2021/11404-\355\224\214\354\231\200\355\222\200\354\235\264.py"
+++ /dev/null
@@ -1,27 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-n = int(input())
-m = int(input())
-
-graph = [[INF] * (n + 1) for _ in range(n + 1)]
-for i in range(1, n + 1):
-    graph[i][i] = 0
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_][to_] = min(graph[from_][to_], weight)
-
-
-for k in range(1, n + 1):
-    for i in range(1, n + 1):
-        for j in range(1, n + 1):
-            graph[i][j] = min(graph[i][j], graph[i][k] + graph[k][j])
-
-
-for i in range(1, n + 1):
-    for j in range(1, n + 1):
-        if graph[i][j] == INF: graph[i][j] = 0 # 틀린 이유
-        print(graph[i][j], end=' ')
-    print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/11441.py b/Python_BOJ_2021/11441.py
deleted file mode 100644
index 4435146..0000000
--- a/Python_BOJ_2021/11441.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 누적합
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-numbers = list(map(int, input().split()))
-
-
-def sum(x, y):
-    answer = 0
-    for i in range(x - 1, y):
-        answer += numbers[i]
-    return answer
-
-
-m = int(input())
-for _ in range(m):
-    a, b = map(int, input().split())
-    print(sum(a, b))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11478.py b/Python_BOJ_2021/11478.py
deleted file mode 100644
index a2d4a69..0000000
--- a/Python_BOJ_2021/11478.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# 서로 다른 부분 문자열
-s = input()
-answer = set()
-
-for i in range(len(s)):
-    for j in range(i, len(s)):
-        tmp = s[i: j + 1]
-        answer.add(tmp)
-print(len(answer))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1149.py b/Python_BOJ_2021/1149.py
deleted file mode 100644
index 8e06cf9..0000000
--- a/Python_BOJ_2021/1149.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# RGB 거리
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-p = [list(map(int, input().split())) for _ in range(n)]
-
-for i in range(1, n):
-    p[i][0] += min(p[i-1][1], p[i-1][2])
-    p[i][1] += min(p[i-1][0], p[i-1][2])
-    p[i][2] += min(p[i-1][0], p[i-1][1])
-
-print(min(p[n-1][0], p[n-1][1], p[n-1][2]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11497.py b/Python_BOJ_2021/11497.py
deleted file mode 100644
index 2af3e1f..0000000
--- a/Python_BOJ_2021/11497.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 통나무 건너뛰기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    n = int(input())
-    arr = list(map(int, input().split()))
-    arr.sort()
-    # print(arr)
-    ans, front, rear = 0, 0, n-1
-    woods_arr = [0] * n
-
-    for i in range(n):
-        if i % 2 == 0:
-            woods_arr[rear] = arr[i]
-            rear -= 1
-        else:
-            woods_arr[front] = arr[i]
-            front += 1
-    # print(woods_arr)
-    for i in range(1, n):
-        ans = max(ans, abs(woods_arr[i] - woods_arr[i-1]))
-
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1149_2.py b/Python_BOJ_2021/1149_2.py
deleted file mode 100644
index 6fecd9a..0000000
--- a/Python_BOJ_2021/1149_2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-n = int(input())
-arr = [[0] * 3 for _ in range(n + 1)]
-
-for i in range(1, n + 1):
-    a, b, c = map(int, input().split())
-    arr[i][0] = min(arr[i - 1][1], arr[i - 1][2]) + a
-    arr[i][1] = min(arr[i - 1][0], arr[i - 1][2]) + b
-    arr[i][2] = min(arr[i - 1][0], arr[i - 1][1]) + c
-
-print(min(arr[n][0], arr[n][1], arr[n][2]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11501.py b/Python_BOJ_2021/11501.py
deleted file mode 100644
index c58e375..0000000
--- a/Python_BOJ_2021/11501.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 주식
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-t = int(input())
-
-while t:
-    n = int(input())
-    arr = list(map(int, input().split()))
-    ans = 0
-    max = arr[n-1]
-
-    for i in range(n-2, -1, -1):
-        if arr[i] < max:
-            ans += max - arr[i]
-        else:
-            max = arr[i]
-
-    t -= 1
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11508.py b/Python_BOJ_2021/11508.py
deleted file mode 100644
index 9f49f43..0000000
--- a/Python_BOJ_2021/11508.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 2+1 세일
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [int(input()) for _ in range(n)]
-arr.sort(reverse=True)
-
-ans = 0
-for i in range(n):
-    if i % 3 != 2:
-        ans += arr[i]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11509.py b/Python_BOJ_2021/11509.py
deleted file mode 100644
index 831c150..0000000
--- a/Python_BOJ_2021/11509.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 풍선 맞추기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-h = [0] * 1000001
-ans = 0
-
-for i in range(n):
-    if h[arr[i]+1]:
-        h[arr[i]+1] -= 1
-        h[arr[i]] += 1
-    else:
-        ans += 1
-        h[arr[i]] += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1152.py b/Python_BOJ_2021/1152.py
deleted file mode 100644
index a2d8009..0000000
--- a/Python_BOJ_2021/1152.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 단어의 개수
-'''
-첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열
-
-단어는 띄어쓰기 한개로 구분됨
-
-공백이 연속으로 나오는 경우는 없다
-
-문자열의 앞과 뒤에는 공백이 있을 수도 있다.
-'''
-
-n = input()
-
-count = 1
-
-for i in range(0, len(n)):
-    search = n[i]
-
-    if i == 0 or i == len(n) - 1 and search == ' ':
-        continue
-    elif search == ' ':
-        count += 1
-
-if len(n) == 1 and search == ' ':
-    count = 0
-
-print(count)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11559.py b/Python_BOJ_2021/11559.py
deleted file mode 100644
index b03dcda..0000000
--- a/Python_BOJ_2021/11559.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# 뿌요뿌요
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-graph = [['.' for _ in range(12)] for _ in range(6)]
-visited = [[False] * 12 for _ in range(6)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-combo = 0
-
-for j in range(11, -1, -1):
-    data = input()
-    for i in range(6):
-        graph[i][j] = data[i]
-
-
-def bfs(x, y):
-    queue, location = deque(), list()
-
-    color = graph[x][y]
-    visited[x][y] = True
-    cnt = 1
-
-    queue.append([x, y])
-    location.append([x, y])
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < 6 and 0 <= ny < 12 and not visited[nx][ny] and graph[nx][ny] == color:
-                visited[nx][ny] = True
-                cnt += 1
-                queue.append([nx, ny])
-                location.append([nx, ny])
-
-    if cnt >= 4:
-        for i in location:
-            graph[i[0]][i[1]] = '#'
-        return True
-    return False
-
-
-def search():
-    flag = False
-    i = 0
-    while i < 6:
-        j = 0
-        while j < 12:
-            if graph[i][j] != '.' and not visited[i][j]:
-                if bfs(i, j): flag = True
-            j += 1
-        i += 1
-    return flag
-
-
-def delete():
-    i = 0
-    while i < 6:
-        j = 0
-        while j < 12:
-            visited[i][j] = False
-            if graph[i][j] == '#':
-                graph[i].pop(j)
-                graph[i].append('.')
-
-                visited[i].pop(j)
-                visited[i].append(False)
-                continue
-            j += 1
-        i += 1
-
-
-while True:
-    state = search()
-    if not state:
-        break
-    else:
-        delete()
-        combo += 1
-print(combo)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1157.py b/Python_BOJ_2021/1157.py
deleted file mode 100644
index 9130af5..0000000
--- a/Python_BOJ_2021/1157.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 단어 공부
-
-S = input().upper()
-
-index = []
-
-for i in range(26):
-    index.append(0)
-
-for j in range(26):
-    index[j] = S.count(chr(j+ord('A')))
-
-if index.count(max(index)) > 1:
-    print('?')
-else:
-    print(chr(index.index(max(index))+ord('A')))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11575.py b/Python_BOJ_2021/11575.py
deleted file mode 100644
index 0988a35..0000000
--- a/Python_BOJ_2021/11575.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Affine Chipher
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    a, b = map(int, input().split())
-    s, ans = input(), list()
-    for i in range(len(s)):
-        ans.append(chr(((a * (ord(s[i]) - ord('A')) + b) % 26) + ord('A')))
-    print(''.join(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11586.py b/Python_BOJ_2021/11586.py
deleted file mode 100644
index 095fcd2..0000000
--- a/Python_BOJ_2021/11586.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 지영 공주님의 마법 거울
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [list(input()) for _ in range(n)]
-k = int(input())
-
-if k == 1:
-    for i in range(n):
-        print(''.join(arr[i]))
-
-elif k == 2:
-    tmp = [[''] * len(arr) for _ in range(len(arr))]
-
-    for i in range(len(arr)):
-        for j in range(len(arr)):
-            tmp[i][n - 1 - j] = arr[i][j]
-
-    ans = list(map(''.join, tmp))
-
-    for i in ans:
-        print(i)
-
-elif k == 3:
-    tmp = [[''] * len(arr) for _ in range(len(arr))]
-
-    for i in range(len(arr)):
-        for j in range(len(arr)):
-            tmp[len(arr) - 1 - i][j] = arr[i][j]
-
-    ans = list(map(''.join, tmp))
-
-    for i in ans:
-        print(i)
diff --git a/Python_BOJ_2021/1159.py b/Python_BOJ_2021/1159.py
deleted file mode 100644
index c358e95..0000000
--- a/Python_BOJ_2021/1159.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 농구 경기
-import sys
-from collections import Counter
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-player, fn, cnt = list(), list(), 0
-
-for i in range(n):
-    a = input()
-    player.append(a[0])
-player_cnt = Counter(player)
-
-for i, j in player_cnt.items():
-    if j >= 5:
-        fn.append(i)
-        cnt += 1
-
-fn.sort()
-if cnt == 0:
-    print('PREDAJA')
-else:
-    print(''.join(fn))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11650.py b/Python_BOJ_2021/11650.py
deleted file mode 100644
index ce0193b..0000000
--- a/Python_BOJ_2021/11650.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 좌표 정렬하기
-
-import sys
-arr = []
-
-for i in range(int(sys.stdin.readline().rstrip())):
-    a, b = map(int, sys.stdin.readline().rstrip().split())
-    arr.append((a, b))
-
-
-for i, j in sorted(arr):
-    print(i, j)
diff --git a/Python_BOJ_2021/11651.py b/Python_BOJ_2021/11651.py
deleted file mode 100644
index d046733..0000000
--- a/Python_BOJ_2021/11651.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 좌표 정렬하기2
-import sys
-arr = []
-
-for i in range(int(sys.stdin.readline().rstrip())):
-    a, b = map(int, sys.stdin.readline().rstrip().split())
-    arr.append((b, a))
-
-
-for i, j in sorted(arr):
-    print(j, i)
diff --git a/Python_BOJ_2021/11654.py b/Python_BOJ_2021/11654.py
deleted file mode 100644
index 3196d99..0000000
--- a/Python_BOJ_2021/11654.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# 아스키 코드
-
-x = input()
-
-print(ord(x))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11656.py b/Python_BOJ_2021/11656.py
deleted file mode 100644
index e34cb86..0000000
--- a/Python_BOJ_2021/11656.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 접미사 배열
-import sys
-from collections import deque
-
-s = deque(sys.stdin.readline().rstrip())
-ans = [''.join(s)]
-
-for i in range(len(s)):
-    s.popleft()
-    ans.append(''.join(s))
-
-ans.pop()
-ans.sort()
-
-for i in ans:
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11659.py b/Python_BOJ_2021/11659.py
deleted file mode 100644
index 6f6f946..0000000
--- a/Python_BOJ_2021/11659.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 구간 합 구하기 4
-import sys
-
-N, M = map(int, sys.stdin.readline().strip().split())
-lst = list(map(int, sys.stdin.readline().strip().split()))
-
-sum_lst = [0]*(len(lst)+1)
-for i in range(1, len(lst)+1):
-    sum_lst[i] = sum_lst[i-1]+lst[i-1]
-
-
-for i in range(M):
-    a, b = map(int, sys.stdin.readline().strip().split())
-    print(sum_lst[b]- sum_lst[a-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/11720.py b/Python_BOJ_2021/11720.py
deleted file mode 100644
index ebb20fb..0000000
--- a/Python_BOJ_2021/11720.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 숫자의 합
-
-n = int(input())
-numbers = list(map(int,input()))
-
-sum = 0
-
-for i in range(n):
-    sum = sum + numbers[i]
-
-print(sum)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11724-unionfind.py b/Python_BOJ_2021/11724-unionfind.py
deleted file mode 100644
index 724132d..0000000
--- a/Python_BOJ_2021/11724-unionfind.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 연결 요소의 갯수
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def find(parent, x):
-    if parent[x] != x:
-        parent[x] = find(parent, parent[x])
-    return parent[x]
-
-
-def union(a, b):
-    a = find(parent, a)
-    b = find(parent, b)
-    if a < b:
-        parent[b] = a
-    else:
-        parent[a] = b
-
-
-v, e = map(int, input().split())
-
-parent = [0] * (v+1)
-for i in range(1, v+1):
-    parent[i] = i
-
-arr = [list(map(int, input().split())) for _ in range(e)]
-arr.sort(key=lambda x : min(x))
-
-for i in arr:
-    a, b = i
-    if find(parent, a) != find(parent, b):
-        union(a, b)
-
-parent.pop(0)
-print(len(set(parent)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11724.py b/Python_BOJ_2021/11724.py
deleted file mode 100644
index 6f1d5f5..0000000
--- a/Python_BOJ_2021/11724.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 연결 요소의 개수
-import sys
-sys.setrecursionlimit(10000)
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [[] for _ in range(n+1)]
-visited = [False] * (n+1)
-
-for _ in range(m):
-    a, b = map(int, input().split())
-    graph[a].append(b)
-    graph[b].append(a)
-
-def dfs(i):
-    visited[i] = True
-    for j in graph[i]:
-        if not visited[j]:
-            dfs(j)
-
-ans = 0
-
-for i in range(1, n+1):
-    if not visited[i]:
-        dfs(i)
-        ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11724_2.py b/Python_BOJ_2021/11724_2.py
deleted file mode 100644
index 53fd202..0000000
--- a/Python_BOJ_2021/11724_2.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-parent = [i for i in range(1, n + 1)]
-graph = [list(map(int, input().split())) for _ in range(m)]
-graph.sort(key= lambda x : min(x))
-
-
-def find(x):
-    if parent[x] != x: return x
-    parent[x] = find(parent[x])
-    return parent[x]
-
-
-def union(a, b):
-    a = find(a)
-    b = find(b)
-    if a < b:
-        parent[b] = a
-    else:
-        parent[a] = b
-
-
-for i in graph:
-    a, b = i
-    if find(a) != find(b):
-        union(a, b)
-
-parent.pop(0)
-print(parent)
-print(len(set(parent)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11724_3.py b/Python_BOJ_2021/11724_3.py
deleted file mode 100644
index 7b1741e..0000000
--- a/Python_BOJ_2021/11724_3.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 연결 요소의 개수 dfs
-import sys
-sys.setrecursionlimit(10000)
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-visited = [0] * (n + 1)
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-def dfs(n):
-    visited[n] = 1
-    for i in graph[n]:
-        if not visited[i]:
-            dfs(i)
-
-ans = 0
-for i in range(1, n + 1):
-    if not visited[i]:
-        dfs(i)
-        ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11724_Union_find.py b/Python_BOJ_2021/11724_Union_find.py
deleted file mode 100644
index e5be2be..0000000
--- a/Python_BOJ_2021/11724_Union_find.py
+++ /dev/null
@@ -1,39 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-def getParent(parent, x):
-    if parent[x] == x:
-        return x
-    else:
-        parent[x] = getParent(parent, parent[x])
-    return parent[x]
-
-
-def union(parent, a, b):
-    a = getParent(parent, a)
-    b = getParent(parent, b)
-    if a < b: parent[b] = a
-    else: parent[a] = b
-
-
-def find(parent, a, b):
-    a = getParent(parent, a)
-    b = getParent(parent, b)
-    if a != b:
-        union(parent, a, b)
-
-
-v, e = map(int, input().split())
-parent = [0] * (v + 1)
-for i in range(1, v + 1):
-    parent[i] = i
-
-arr = [list(map(int, input().split())) for _ in range(e)]
-arr.sort(key = lambda x : min(x))
-
-for i in arr:
-    a, b = i
-    find(parent, a, b)
-
-parent.pop(0)
-print(len(set(parent)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/11725.py b/Python_BOJ_2021/11725.py
deleted file mode 100644
index c8be280..0000000
--- a/Python_BOJ_2021/11725.py
+++ /dev/null
@@ -1,25 +0,0 @@
-import sys
-sys.setrecursionlimit(10 ** 9)
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-tree = [[] for _ in range(n+1)]
-ans = [0 for _ in range(n+1)]
-
-for _ in range(n-1):
-    a, b = map(int, input().split())
-    tree[a].append(b)
-    tree[b].append(a)
-
-
-def dfs(start, tree, ans):
-    for i in tree[start]:
-        if ans[i] == 0:
-            ans[i] = start
-            dfs(i, tree, ans)
-
-
-dfs(1, tree, ans)
-
-for i in range(2, n+1):
-    print(ans[i])
\ No newline at end of file
diff --git a/Python_BOJ_2021/11726.py b/Python_BOJ_2021/11726.py
deleted file mode 100644
index 7a27ba4..0000000
--- a/Python_BOJ_2021/11726.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 2xn 타일링
-import sys
-
-n = int(sys.stdin.readline().rstrip())
-dp = [0] * (n + 1)
-dp[0], dp[1] = 1, 1
-
-for i in range(2, n + 1):
-    dp[i] = (dp[i - 2] + dp[i - 1]) % 10007
-
-print(dp[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/11729.py b/Python_BOJ_2021/11729.py
deleted file mode 100644
index acdbadd..0000000
--- a/Python_BOJ_2021/11729.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 하노이 탑 이동 순서
-
-N = int(input())
-
-from_pos = 1
-aux_pos = 2
-to_pos = 3
-
-
-def hanoi(N, from_pos, to_pos, aux_pos):
-    if N == 1:
-        print(from_pos, to_pos)
-        return
-    hanoi(N-1,from_pos,aux_pos,to_pos)
-    print(from_pos, to_pos)
-    hanoi(N-1,aux_pos, to_pos, from_pos)
-
-
-print(pow(2, N)-1)
-hanoi(N, from_pos, to_pos, aux_pos)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11779.py b/Python_BOJ_2021/11779.py
deleted file mode 100644
index 1e32ff0..0000000
--- a/Python_BOJ_2021/11779.py
+++ /dev/null
@@ -1,45 +0,0 @@
-import sys, heapq
-input = lambda :sys.stdin.readline().rstrip()
-
-
-def PrintResult(res):
-    print(distance[end])
-    print(len(res))
-    print(*res)
-
-
-def trace(start, end):
-    res = [end]
-    lastTrace[start] = 0
-    while lastTrace[end]:
-        res.append(lastTrace[end])
-        end = lastTrace[end]
-    return PrintResult(res[::-1])
-
-def dijkstra(start):
-    distance[start] = 0
-    queue = []
-    heapq.heappush(queue, (0, start))
-    while queue:
-        dist, now = heapq.heappop(queue) #dist: 지금까지 온 거리, now: 현재 기준 시작 버스.
-        if distance[now] < dist:
-            continue
-        for nextCity, nextDist in graph[now]:
-            cost = dist + nextDist
-            if cost < distance[nextCity]:
-                distance[nextCity] = cost
-                lastTrace[nextCity] = now
-                heapq.heappush(queue, (cost, nextCity))
-    return trace(start, end)
-
-
-n, m = int(input()), int(input())
-graph = [[] for _ in range(n + 1)]
-for _ in range(m):
-    a, b, c = map(int, input().split())
-    graph[a].append((b, c))
-start, end = map(int, input().split())
-INF = int(1e9)
-distance = [INF] * (n + 1)
-lastTrace = [None] * (n + 1)
-dijkstra(start)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1181.py b/Python_BOJ_2021/1181.py
deleted file mode 100644
index 9d0d9da..0000000
--- a/Python_BOJ_2021/1181.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 단어 정렬
-
-N = int(input())
-words = [input() for _ in range(N)]
-words = sorted(words, key=lambda x: (len(x), x))
-
-tmp = ''
-
-for i in words:
-    if tmp != i:
-        print(i)
-        tmp = i
\ No newline at end of file
diff --git a/Python_BOJ_2021/11816.py b/Python_BOJ_2021/11816.py
deleted file mode 100644
index 16abf4b..0000000
--- a/Python_BOJ_2021/11816.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# 8진수, 10진수, 16진수
-
-s = input()
-print(int(s[2:], 16) if s[1]=='x' else int(s[1:], 8) if s[0]=='0' else s)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1182.py b/Python_BOJ_2021/1182.py
deleted file mode 100644
index af14cc2..0000000
--- a/Python_BOJ_2021/1182.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 부분수열의 합
-from itertools import combinations
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, s = map(int, input().split())
-arr = list(map(int, input().split()))
-ans = 0
-
-for i in range(1, n + 1):
-    for cb in combinations(arr, i):
-        if sum(cb) == s:
-            ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/11866.py b/Python_BOJ_2021/11866.py
deleted file mode 100644
index 5fed92f..0000000
--- a/Python_BOJ_2021/11866.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 요세푸스 문제0
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N, M = map(int, input().split())
-circle = [str(x) for x in range(1, N+1)]
-p = 0
-seq = []
-while circle:
-    p = (p + M - 1) % N
-    seq.append(circle.pop(p))
-    N -= 1
-
-print('<', ', '.join(seq), ">", sep='')
\ No newline at end of file
diff --git a/Python_BOJ_2021/11899.py b/Python_BOJ_2021/11899.py
deleted file mode 100644
index 94727a7..0000000
--- a/Python_BOJ_2021/11899.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 괄호 끼워넣기
-import sys
-
-s = sys.stdin.readline().rstrip()
-ans = 0
-stack = []
-
-for i in range(len(s)):
-    if s[i] == '(':
-        stack.append(s[i])
-    else:
-        if len(stack) != 0 and stack[-1] == '(':
-            stack.pop()
-        else:
-            ans += 1
-
-ans += len(stack)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1193.py b/Python_BOJ_2021/1193.py
deleted file mode 100644
index f46a93f..0000000
--- a/Python_BOJ_2021/1193.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 분수 찾기
-
-X = int(input())
-
-nums = 0
-i = 0
-boonja = 0
-boonmo = 0
-
-while nums < X:
-    i += 1
-    nums = nums + i
-
-if i % 2 == 0:
-    boonja = i + X - nums
-    boonmo = 1 + nums - X
-
-elif i % 2 == 1:
-    boonja = 1 + nums - X
-    boonmo = i + X - nums
-
-
-print(f'{boonja}/{boonmo}')
-
-
diff --git a/Python_BOJ_2021/11944.py b/Python_BOJ_2021/11944.py
deleted file mode 100644
index 8164344..0000000
--- a/Python_BOJ_2021/11944.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# NN
-import sys
-
-n, m = map(int, sys.stdin.readline().rstrip().split())
-ans = str(n) * n
-
-print(ans[:m])
diff --git a/Python_BOJ_2021/1197.py b/Python_BOJ_2021/1197.py
deleted file mode 100644
index abd9697..0000000
--- a/Python_BOJ_2021/1197.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# 최소 스패닝 트리
-# 27719041	hoijae0194	 1197	맞았습니다!!	53136	448	Python 3 / 수정	798
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-v, e = map(int, input().split())
-edges = [list(map(int, input().split())) for _ in range(e)]
-
-edges.sort(key = lambda x : x[2])
-parent = {}
-
-for i in range(v):
-    parent[i + 1] = i + 1
-
-
-def find(x, arr):
-    if x == arr[x]:
-        return x
-    arr[x] = find(arr[x], arr)
-    return arr[x]
-
-
-def union(x, y, arr):
-    x = find(x, arr)
-    y = find(y, arr)
-    if x < y:
-        arr[y] = x
-    else:
-        arr[x] = y
-
-
-def findParent(x, y, arr):
-    x = find(x, arr)
-    y = find(y, arr)
-    if x == y: return True
-    else: return False
-
-
-MST = list()
-for e in edges:
-    f, t, w = e
-    if not findParent(f, t, parent):
-        union(f, t, parent)
-        MST.append(e)
-
-ans = 0
-for i in range(len(MST)):
-    ans += MST[i][2]
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/12015.py b/Python_BOJ_2021/12015.py
deleted file mode 100644
index 555cc65..0000000
--- a/Python_BOJ_2021/12015.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 가장 긴 증가하는 부분 수열2
-from bisect import bisect_left
-
-n = int(input())
-A = list(map(int, input().split()))
-
-dp = []
-
-for i in A:
-    k = bisect_left(dp, i)
-    if len(dp) <= k:
-        dp.append(i)
-
-    else:
-        dp[k] = i
-
-print(len(dp))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1202.py b/Python_BOJ_2021/1202.py
deleted file mode 100644
index 1b92acd..0000000
--- a/Python_BOJ_2021/1202.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 보석 도둑
-import sys
-from queue import PriorityQueue
-input = lambda : sys.stdin.readline().rstrip()
-
-n, k = map(int, input().split())
-jew = []
-for i in range(n):
-    jew.append(list(map(int, input().split())))
-bag = []
-for i in range(k):
-    bag.append(int(input()))
-jew.sort(reverse=True, key=lambda x:x[1])
-for i in range(n):
-    jew[i].insert(0, i)
-
-jew.sort(key=lambda x:x[1])
-bag.sort()
-q = PriorityQueue()
-
-idx = 0
-sum = 0
-
-for i in range(k):
-    while idx < n and bag[i] >= jew[idx][1]:
-        q.put((jew[idx][0], jew[idx][2]))
-        idx += 1
-    if not q.empty():
-        sum += q.get()[1]
-
-print(sum)
\ No newline at end of file
diff --git a/Python_BOJ_2021/12100.py b/Python_BOJ_2021/12100.py
deleted file mode 100644
index 9ac6d5c..0000000
--- a/Python_BOJ_2021/12100.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# 2045 (Easy)
-from collections import deque
-from copy import deepcopy
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def move(board, di):
-    visited = [[False] * n for _ in range(n)]
-
-    if di in [0, 3]:
-        start, end, step = 0, n, 1
-    else:
-        start, end, step = n-1, -1, -1
-
-    for i in range(start, end, step):
-        for j in range(start, end, step):
-            if board[i][j] == 0: continue
-
-            x, y = i, j
-            val = board[x][y]
-            board[x][y] = 0
-            nx, ny = x + dx[di], y + dy[di]
-
-            while True:
-                if nx < 0 or nx >= n or ny < 0 or ny >= n: break
-
-                if board[nx][ny] == 0:
-                    x, y = nx, ny
-                    nx, ny = x + dx[di], y + dy[di]
-                elif board[nx][ny] == val and not visited[nx][ny]:
-                    x, y = nx, ny
-                    visited[x][y] = True
-                    break
-                else:
-                    break
-
-            board[x][y] = board[x][y] + val
-    return board
-
-
-def bfs(board):
-    queue = deque([board])
-    max_val = -1
-    step = 0
-
-    while queue:
-        for _ in range(len(queue)):
-            board = queue.popleft()
-
-            for di in range(4):
-                n_board = move(deepcopy(board), di)
-                queue.append(n_board)
-
-                for i in range(n):
-                    for j in range(n):
-                        if n_board[i][j] > max_val:
-                            max_val = n_board[i][j]
-
-        step += 1
-        if step == 5: # 스텝이 5회가 되면 강제 종료
-            return max_val
-
-
-n = int(input())
-arr = [list(map(int, input().split())) for _ in range(n)]
-print(bfs(arr))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1212.py b/Python_BOJ_2021/1212.py
deleted file mode 100644
index 1f6e072..0000000
--- a/Python_BOJ_2021/1212.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 8진수 2진수
-
-# 8 > 10
-# 10 > 2
-
-s = input()
-tmp = int(s, 8)
-print(bin(tmp)[2:])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1213.py b/Python_BOJ_2021/1213.py
deleted file mode 100644
index 1b3ebe5..0000000
--- a/Python_BOJ_2021/1213.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 팰린드롬 만들기
-import sys
-names = sys.stdin.readline().rstrip()
-alpha_cnt = [0 for _ in range(26)]
-
-for i in names:
-    alpha_cnt[ord(i) - 65] += 1
-
-odd = 0
-odd_alpha = ''
-alpha = ''
-
-for i in range(26):
-    if alpha_cnt[i] % 2 == 1:
-        odd += 1
-        odd_alpha += chr(i + 65)
-
-    alpha += chr(i + 65) * (alpha_cnt[i] // 2)
-
-if odd > 1:
-    print("I'm Sorry Hansoo")
-else:
-    print(alpha + odd_alpha + alpha[::-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1225.py b/Python_BOJ_2021/1225.py
deleted file mode 100644
index 8f7d734..0000000
--- a/Python_BOJ_2021/1225.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 이상한 곱셈
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-a, b = map(str, input().split())
-a_tmp, b_tmp = 0, 0
-
-for i in range(len(a)):
-    a_tmp += int(a[i])
-for j in range(len(b)):
-    b_tmp += int(b[j])
-
-print(a_tmp * b_tmp)
diff --git a/Python_BOJ_2021/1238.py b/Python_BOJ_2021/1238.py
deleted file mode 100644
index 747c1d0..0000000
--- a/Python_BOJ_2021/1238.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 파티
-# 27721418	hoijae0194	 1238	맞았습니다!!	31612	2452	Python 3 / 수정	842
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-n, m, x = map(int, input().split())
-edges = [[] for _ in range(n + 1)]
-
-for _ in range(m):
-    a, b, c = map(int, input().split())
-    edges[a].append((c, b))
-
-
-def dijikstra(s):
-    queue = list()
-    heapq.heappush(queue, (0, s))
-    distance = [INF] * (n + 1)
-    distance[s] = 0
-    while queue:
-        cost, now = heapq.heappop(queue)
-        if distance[now] < cost:
-            continue
-        for cost2, now2 in edges[now]:
-            cost3 = cost + cost2
-            if distance[now2] > cost3:
-                distance[now2] = cost3
-                heapq.heappush(queue, (cost3, now2))
-    return distance
-
-
-ans = 0
-for i in range(1, n + 1):
-    go = dijikstra(i)[x]
-    back = dijikstra(x)[i]
-    ans = max(ans, go + back)
-print(ans)
diff --git a/Python_BOJ_2021/1244.py b/Python_BOJ_2021/1244.py
deleted file mode 100644
index 2745a24..0000000
--- a/Python_BOJ_2021/1244.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 스위치 켜고 끄기
-n = int(input())
-arr = list(map(int,input().split()))
-
-def womanDo(num):
-    left, right = num - 2, num
-    arr[num - 1] ^= 1
-    while left >= 0 and right < n:
-        if arr[left] == arr[right]:
-            arr[left] ^= 1
-            arr[right] ^= 1
-        else:
-            break
-        left -= 1
-        right += 1
-
-
-for _ in range(int(input())):
-    sex, num = map(int, input().split())
-
-    if sex == 1:
-        for i in range(n):
-            if (i+1) % num == 0:
-                arr[i] ^= 1
-    elif sex == 2:
-        womanDo(num)
-
-for i in range(0, n, 20):
-    print(*arr[i:i+20])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1260.py b/Python_BOJ_2021/1260.py
deleted file mode 100644
index 9f142df..0000000
--- a/Python_BOJ_2021/1260.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# DFS와 BFS
-import sys
-from collections import deque
-
-node, edge, start = map(int, sys.stdin.readline().split())
-graph = [[] for _ in range(node + 1)]
-
-
-for _ in range(edge):
-    a, b = map(int, sys.stdin.readline().split())
-    graph[a].append(b)
-    graph[a].sort()
-    graph[b].append(a)
-    graph[b].sort()
-
-dfs_visited = [False] * (node + 1)
-
-
-def dfs(graph, start, dfs_visited):
-    dfs_visited[start] = True
-    print(start, end=' ')
-
-    for i in graph[start]:
-        if dfs_visited[i] == False:
-            dfs_visited[i] = True
-            dfs(graph, i, dfs_visited)
-
-
-bfs_visited = [False] * (node + 1)
-
-
-def bfs(graph, start, bfs_visited):
-    bfs_visited[start] = True
-    queue = deque([start])
-
-    while queue:
-        v = queue.popleft()
-        print(v, end=' ')
-
-        for i in graph[v]:
-            if bfs_visited[i] == False:
-                queue.append(i)
-                bfs_visited[i] = True
-
-
-
-dfs(graph, start, dfs_visited)
-print()
-bfs(graph, start, bfs_visited)
\ No newline at end of file
diff --git a/Python_BOJ_2021/12605.py b/Python_BOJ_2021/12605.py
deleted file mode 100644
index a7f86a9..0000000
--- a/Python_BOJ_2021/12605.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 단어순서 뒤집기
-num = int(input())
-answer = list()
-
-for i in range(num):
-    N = list(input().split(' '))
-    reversed = N[::-1]
-    answer.append(' '.join(reversed))
-
-for i in range(num):
-    print("Case #{0}: {1}".format(i+1, answer[i]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1260_2.py b/Python_BOJ_2021/1260_2.py
deleted file mode 100644
index 5d7e5ac..0000000
--- a/Python_BOJ_2021/1260_2.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# DFS와 BFS
-from collections import deque
-import sys
-sys.setrecursionlimit(1000001)
-input = lambda :sys.stdin.readline().rstrip()
-
-m, n, v = map(int, input().split())
-graph = [[] for _ in range(m + 1)]
-for _ in range(n):
-    a, b = map(int, input().split())
-    graph[a].append(b)
-    graph[a].sort()
-    graph[b].append(a)
-    graph[b].sort()
-
-def dfs(node):
-    visited[node] = 1
-    print(node, end=' ')
-    for i in graph[node]:
-        if not visited[i]:
-            dfs(i)
-
-def bfs(node):
-    queue = deque()
-    queue.append(node)
-    visited[node] = 1
-    while queue:
-        x = queue.popleft()
-        print(x, end=' ')
-        for i in graph[x]:
-            if not visited[i]:
-                visited[i] = 1
-                queue.append(i)
-
-
-visited = [0 for _ in range(m + 1)]
-dfs(v)
-print()
-visited = [0 for _ in range(m + 1)]
-bfs(v)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1260_3.py b/Python_BOJ_2021/1260_3.py
deleted file mode 100644
index 230418d..0000000
--- a/Python_BOJ_2021/1260_3.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# DFS와 BFS
-import sys
-from collections import deque
-sys.setrecursionlimit(1000001)
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m, v = map(int, input().split()) # 정점의 갯수, 간선의 갯수, 시작할 정점 번호
-graph = [[] for _ in range(n + 1)]
-
-for _ in range(m):
-    from_, to_ = map(int, input().split())
-    graph[from_].append((to_))
-    graph[from_].sort()
-    graph[to_].append((from_))
-    graph[to_].sort()
-visited = [0] * (n + 1)
-
-
-def dfs(start):
-    visited[start] = 1
-    print(start, end=' ')
-    for i in graph[start]:
-        if not visited[i]:
-            dfs(i)
-
-
-dfs(v)
-print()
-visited = [0] * (n + 1)
-
-
-def bfs(start):
-    queue = deque()
-    queue.append((start))
-    while queue:
-        x = queue.popleft()
-        visited[x] = 1
-        print(x, end=' ')
-        for i in graph[x]:
-            if not visited[i]:
-                queue.append((i))
-                visited[i] = 1
-
-
-bfs(v)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1260_4.py b/Python_BOJ_2021/1260_4.py
deleted file mode 100644
index 7106204..0000000
--- a/Python_BOJ_2021/1260_4.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# DFS와 BFS
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m, v = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-
-
-for _ in range(m):
-    a, b = map(int, input().split())
-    graph[a].append(b)
-    graph[a].sort()
-    graph[b].append(a)
-    graph[b].sort()
-
-dfs_visited = [False] * (n + 1)
-
-
-def dfs(n):
-    dfs_visited[n] = True
-    print(n, end=' ')
-    for i in graph[n]:
-        if not dfs_visited[i]:
-            dfs(i)
-
-dfs(v)
-print()
-bfs_visited = [False] * (n + 1)
-
-def bfs(n):
-    queue = deque()
-    queue.append(n)
-    while queue:
-        x = queue.popleft()
-        bfs_visited[x] = True
-        print(x, end=' ')
-        for i in graph[x]:
-            if not bfs_visited[i]:
-                queue.append(i)
-                bfs_visited[i] = True
-
-bfs(v)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1261.py b/Python_BOJ_2021/1261.py
deleted file mode 100644
index 13c13ca..0000000
--- a/Python_BOJ_2021/1261.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 알고스팟
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-m, n = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[-1] * m for _ in range(n)]
-
-
-def bfs():
-    queue = deque()
-    queue.append([0, 0])
-    visited[0][0] = 0
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if visited[nx][ny] == -1:
-                    if graph[nx][ny] == 0:
-                        visited[nx][ny] = visited[x][y]
-                        queue.appendleft([nx, ny])
-                    else:
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append([nx, ny])
-
-bfs()
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1264.py b/Python_BOJ_2021/1264.py
deleted file mode 100644
index 25d3a28..0000000
--- a/Python_BOJ_2021/1264.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 모음의 갯수
-import sys
-mo = ['a', 'e', 'i', 'o', 'u']
-cnt = 0
-
-while True:
-    sentence = list(map(str, sys.stdin.readline().rstrip().lower()))
-    if sentence == ['#']: break
-    for i in range(len(sentence)):
-        if sentence[i] in mo:
-            cnt += 1
-    print(cnt)
-    cnt = 0
\ No newline at end of file
diff --git a/Python_BOJ_2021/12780.py b/Python_BOJ_2021/12780.py
deleted file mode 100644
index 19e3080..0000000
--- a/Python_BOJ_2021/12780.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# 원피스
-
-h = input()
-n = input()
-print(sum(1 if n == str(h[i:i + len(n)]) else 0 for i in range(len(h) - len(n) + 1)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/12782.py b/Python_BOJ_2021/12782.py
deleted file mode 100644
index 75e4750..0000000
--- a/Python_BOJ_2021/12782.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 비트 우정지수
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    arr = list(map(str, input().split()))
-    n, m = arr[0], arr[1]
-    one, zero = 0, 0
-    for i in range(len(m)):
-        if n[i] == m[i]: continue
-        if m[i] == '1':
-            one += 1
-        else:
-            zero += 1
-
-    t = min(one, zero)
-    print(t + (one + zero) - t * 2)
diff --git a/Python_BOJ_2021/12789.py b/Python_BOJ_2021/12789.py
deleted file mode 100644
index f711aba..0000000
--- a/Python_BOJ_2021/12789.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 도키도키 간식드라마
-from collections import deque
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-queue = deque(map(int, input().split()))
-stack = deque()
-target = 1
-
-while queue:
-    if queue and queue[0] == target:
-        queue.popleft()
-        target += 1
-    else:
-        stack.append(queue.popleft())
-
-    while stack and stack[-1] == target:
-        stack.pop()
-        target += 1
-
-print("Nice" if not stack else "Sad")
-
-    # if len(arr) != 0 and len(tmp) == 0:
-    #     if arr[0] == target:
-    #         arr.popleft()
-    #         target += 1
-    #     else:
-    #         tmp.append(arr.popleft())
-    # elif len(arr) == 0 and len(tmp) != 0:
-    #     if tmp[-1] == target:
-    #         tmp.pop()
-    #         target += 1
-    #     else:
-    #         arr.append(tmp.pop())
-    # elif len(arr) != 0 and len(tmp) != 0:
-    #     if arr[0] == target:
-    #         arr.popleft()
-    #         target += 1
-    #     elif tmp[-1] == target:
-    #         tmp.pop()
-    #         target += 1
-    #     else:
-    #         tmp.append(arr.popleft())
-    # else:
-    #     Flag = True
-    #     break
diff --git a/Python_BOJ_2021/1283.py b/Python_BOJ_2021/1283.py
deleted file mode 100644
index e528cc2..0000000
--- a/Python_BOJ_2021/1283.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# 단축키 지정
-import sys
-from collections import defaultdict
-input = lambda : sys.stdin.readline().rstrip()
-
-ans = []
-dic = defaultdict(int)
-
-for _ in range(int(input())):
-    s = input().split()
-    tmp = []
-    cnt = 0
-    flag = False
-
-    for i in s:
-        if flag:
-            tmp.append(i)
-            continue
-
-        if i[0].upper() in dic:
-            cnt += 1
-            tmp.append(i)
-        elif i[0].upper() not in dic and not flag:
-            tmp.append(i.replace(i[0], '[' + i[0] + ']', 1))
-            print(tmp)
-            dic[i[0].upper()] += 1
-            flag = True
-            print(dic)
-
-    if cnt == len(s):
-        tmp = []
-        for i in s:
-            cnt = 0
-            if flag:
-                tmp.append(i)
-                continue
-
-            for j in i:
-                if j.upper() in dic:
-                    cnt += 1
-                    if cnt == len(i):
-                        tmp.append(i)
-                elif not flag and j.upper() not in dic:
-                    flag = True
-                    dic[j.upper()] += 1
-                    tmp.append(i.replace(j, '[' + j + ']', 1))
-                    continue
-
-    ans.append(' '.join(tmp))
-for i in ans:
-    print(i)
diff --git a/Python_BOJ_2021/12851.py b/Python_BOJ_2021/12851.py
deleted file mode 100644
index 44bef3f..0000000
--- a/Python_BOJ_2021/12851.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 숨바꼭질 2
-import sys
-from collections import deque
-
-n, k = map(int, sys.stdin.readline().rstrip().split())
-arr = [[100001, 0] for _ in range(100001)]
-arr[n][0], arr[n][1] = 0, 1
-
-
-queue = deque([n])
-while queue:
-    x = queue.popleft()
-
-    for nx in [x - 1, x + 1, 2 * x]:
-        if 0 <= nx < 100001:
-            if arr[nx][0] == 100001:
-                queue.append(nx)
-                arr[nx][0] = arr[x][0] + 1
-                arr[nx][1] = arr[x][1]
-            elif arr[nx][0] == arr[x][0] + 1:
-                arr[nx][1] += arr[x][1]
-
-
-print(arr[k][0])
-print(arr[k][1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/12865.py b/Python_BOJ_2021/12865.py
deleted file mode 100644
index 5ea2cdb..0000000
--- a/Python_BOJ_2021/12865.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, k = map(int, input().split())
-
-weight, value = list(), list()
-weight.append(0)
-value.append(0)
-
-for _ in range(n):
-    w, v = map(int, input().split())
-    weight.append(w)
-    value.append(v)
-
-dp = [[0] * (k + 1) for _ in range(n + 1)]
-
-for i in range(1, n + 1):
-    for j in range(1, k + 1):
-        dp[i][j] = dp[i - 1][j]
-        if weight[i] <= j:
-            dp[i][j] = max(dp[i - 1][j], value[i] + dp[i - 1][j - weight[i]])
-
-
-print(dp[n][k])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1300.py b/Python_BOJ_2021/1300.py
deleted file mode 100644
index b473e80..0000000
--- a/Python_BOJ_2021/1300.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# K번째 수
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-k = int(input())
-
-start, end = 1, k
-while start <= end:
-    mid = (start + end) // 2
-    tmp = 0
-
-    for i in range(1, n+1):
-        tmp += min(mid // i, n)
-
-    if tmp >= k:
-        ans = mid
-        end = mid - 1
-
-    else:
-        start = mid + 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1303.py b/Python_BOJ_2021/1303.py
deleted file mode 100644
index 61aec3b..0000000
--- a/Python_BOJ_2021/1303.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 전쟁 - 전투
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-sys.setrecursionlimit(3000000)
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(n)]
-w, b = 0, 0
-
-
-def dfs(x, y, cnt):
-    soldier_color = graph[x][y]
-    graph[x][y] = 1
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < m:
-            if graph[nx][ny] == soldier_color:
-                cnt = dfs(nx, ny, cnt + 1)
-    return cnt
-
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 'W':
-            w += dfs(i, j, 1) ** 2
-        elif graph[i][j] == 'B':
-            b += dfs(i, j, 1) ** 2
-
-print(w, b)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1316.py b/Python_BOJ_2021/1316.py
deleted file mode 100644
index 9fac895..0000000
--- a/Python_BOJ_2021/1316.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 그룹 단어 체커
-
-n = int(input())
-ans = []
-
-for i in range(n):
-    word = list(str(input()))
-
-    for j in range(len((word))):
-        if j != len(word)-1 and word[j] == word[j+1]:
-            pass
-        elif word[j+1:].count(word[j]) != 0:
-            break
-        elif j == len(word)-1:
-            ans.append(i)
-print(len(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/13163.py b/Python_BOJ_2021/13163.py
deleted file mode 100644
index f7e9544..0000000
--- a/Python_BOJ_2021/13163.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 닉네임에 갓 붙이기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = list(input().split())
-    s[0] = 'god'
-    print(''.join(s))
diff --git a/Python_BOJ_2021/13164.py b/Python_BOJ_2021/13164.py
deleted file mode 100644
index 6841fe3..0000000
--- a/Python_BOJ_2021/13164.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 행복 유치원
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, k = map(int, input().split())
-a = list(map(int, input().split()))
-ans = 0
-
-for i in range(1, n):
-    a[i-1] = a[i] - a[i-1]
-
-a.sort()
-
-for i in range(n-k):
-    ans += a[i]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13235.py b/Python_BOJ_2021/13235.py
deleted file mode 100644
index 00b265b..0000000
--- a/Python_BOJ_2021/13235.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 팰린드롬
-
-s = input()
-if s[::] == s[::-1]:
-    print("true")
-else:
-    print("false")
\ No newline at end of file
diff --git a/Python_BOJ_2021/13275.py b/Python_BOJ_2021/13275.py
deleted file mode 100644
index ae06ba9..0000000
--- a/Python_BOJ_2021/13275.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# 가장 긴 팰린드롬 부분 문자열
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def longesPalindrome(s):
-    t = '#'.join('({})'.format(s))
-    n = len(t)
-    p = [0] * n
-    c = r = 0
-
-    for i in range(1, n- 1):
-        p[i] = (r >i) and min(r - i, p[2 * c - i])
-
-        while t[i + 1 + p[i]] == t[i - 1 - p[i]]:
-            p[i] += 1
-
-        if i + p[i] > r:
-            c, r = i, i + p[i]
-
-    return max(p)
-
-
-s = input()
-
-print(longesPalindrome(s))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1330.py b/Python_BOJ_2021/1330.py
deleted file mode 100644
index f43eeba..0000000
--- a/Python_BOJ_2021/1330.py
+++ /dev/null
@@ -1,8 +0,0 @@
-a, b = map(int,input().split())
-
-if a < b:
-    print('<')
-if a > b:
-    print('>')
-else:
-    print('==')
\ No newline at end of file
diff --git a/Python_BOJ_2021/13300.py b/Python_BOJ_2021/13300.py
deleted file mode 100644
index 03ae07e..0000000
--- a/Python_BOJ_2021/13300.py
+++ /dev/null
@@ -1,24 +0,0 @@
-n, k = map(int, input().split())
-girl = [0] *  1000
-boy = [0] * 1000
-
-for i in range(n):
-    sex, grade = map(int, input().split()) # sex > 0 : 여자, 1 : 남자
-    if sex == 0:
-        girl[grade] += 1
-    else:
-        boy[grade] += 1
-
-for i in range(1, 7):
-    if girl[i] % k == 0:
-        girl[i] = girl[i] // k
-    else:
-        girl[i] = girl[i] // k + 1
-
-    if boy[i] % k == 0:
-        boy[i] = boy[i] // k
-    else:
-        boy[i] = boy[i] // k + 1
-
-ans = sum(girl) + sum(boy)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13305.py b/Python_BOJ_2021/13305.py
deleted file mode 100644
index b925791..0000000
--- a/Python_BOJ_2021/13305.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 주유소
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-dis = list(map(int, input().split()))
-price = list(map(int, input().split()))
-
-min_price = price[0]
-ans = 0
-
-for i in range(n-1):
-    min_price = min(price[i], min_price)
-    ans += dis[i] * min_price
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1339.py b/Python_BOJ_2021/1339.py
deleted file mode 100644
index 23d9390..0000000
--- a/Python_BOJ_2021/1339.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 단어 수학
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-alphabet_dict = {'A':0, 'B':0, 'C':0, 'D':0, 'E':0, 'F':0, 'G':0, 'H':0, 'I':0, 'J':0, 'K':0, 'L':0, 'N':0, 'M':0, 'O':0, 'P':0, 'Q':0, 'R':0, 'S':0, 'T':0, 'U':0, 'V':0, 'W':0, 'X':0, 'Y':0, 'Z':0}
-alphabet_list = list()
-
-ans = 0
-word = list()
-
-for _ in range(n):
-    word.append(input())
-
-for alphabet in word:
-    for i in range(len(alphabet)):
-        num = 10 ** (len(alphabet) - i -1)
-        alphabet_dict[alphabet[i]] += num
-
-for value in alphabet_dict.values():
-    if value > 0:
-        alphabet_list.append(value)
-
-sorted_list = sorted(alphabet_list, reverse=True)
-
-for i in range(len(sorted_list)):
-    ans += sorted_list[i] * (9 - i)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13420.py b/Python_BOJ_2021/13420.py
deleted file mode 100644
index 09a9358..0000000
--- a/Python_BOJ_2021/13420.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 사칙연산
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    arr = list(input().split())
-
-    if arr[1] == '+':
-        if int(arr[0]) + int(arr[2]) == int(arr[4]):
-            print('correct')
-        else:
-            print('wrong answer')
-
-    elif arr[1] == '-':
-        if int(arr[0]) - int(arr[2]) == int(arr[4]):
-            print('correct')
-        else:
-            print('wrong answer')
-
-    elif arr[1] == '*':
-        if int(arr[0]) * int(arr[2]) == int(arr[4]):
-            print('correct')
-        else:
-            print('wrong answer')
-
-    elif arr[1] == '/':
-        if int(arr[0]) / int(arr[2]) == int(arr[4]):
-            print('correct')
-        else:
-            print('wrong answer')
\ No newline at end of file
diff --git a/Python_BOJ_2021/13424.py b/Python_BOJ_2021/13424.py
deleted file mode 100644
index affaa48..0000000
--- a/Python_BOJ_2021/13424.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# 비밀 모임
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-
-def dijikstra(start):
-    queue = list()
-    heapq.heappush(queue, [0, start])
-    distance[start] = 0
-
-    while queue:
-        cost, current = heapq.heappop(queue)
-        if distance[current] < cost: continue
-        for i in graph[current]:
-            cost2 = cost + i[1]
-            if distance[i[0]] > cost2:
-                distance[i[0]] = cost2
-                heapq.heappush(queue, [cost2, i[0]])
-
-
-INF = int(1e9)
-for _ in range(int(input())):
-    n, m = map(int, input().split())
-    graph = [[] for _ in range(n + 1)]
-
-    for _ in range(m):
-        from_, to_, weight = map(int, input().split())
-        graph[from_].append([to_, weight])
-        graph[to_].append([from_, weight])
-
-    k = int(input())
-    people = list(map(int, input().split()))
-
-    total = [0] * (n + 1)
-    for i in people:
-        distance = [INF] * (n + 1)
-        dijikstra(i)
-        for j in range(1, n + 1):
-            total[j] += distance[j]
-
-    now, answer = INF, 0
-    for i in range(1, n + 1):
-        if now > total[i]:
-            now = total[i]
-            answer = i
-    print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1343.py b/Python_BOJ_2021/1343.py
deleted file mode 100644
index 6bd094f..0000000
--- a/Python_BOJ_2021/1343.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 폴리오미노
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-data = input().upper()
-i = 0
-
-while True:
-    if i >= len(data):
-        break
-
-    if data[i:i+4] == 'XXXX':
-        i += 4
-        data = data.replace('X', 'A', 4)
-    elif data[i:i+2] == 'XX':
-        i += 2
-        data = data.replace('X', 'B', 2)
-    elif data[i] == '.':
-        i += 1
-    else:
-        data = -1
-        break
-
-print(data)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13458.py b/Python_BOJ_2021/13458.py
deleted file mode 100644
index 427d300..0000000
--- a/Python_BOJ_2021/13458.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 시험 감독
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-a = list(map(int, input().split()))
-b, c = map(int, input().split())
-
-ans = n # 총 감독관 수
-
-for group in a:
-    group -= b # 총 감독관이 마킹하는 학생 일단 빼주 시작
-    if group > 0:
-        if group % c:
-            ans += (group // c + 1)
-        else:
-            ans += (group // c)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13460.py b/Python_BOJ_2021/13460.py
deleted file mode 100644
index 1084c62..0000000
--- a/Python_BOJ_2021/13460.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# 구슬 탈출2
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(input()) for _ in range(n)]
-visited = [[[[False] * m for _ in range(n)] for _ in range(m)] for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-queue = deque()
-
-
-def init():
-    rx, ry, bx, by = 0, 0, 0, 0
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 'R':
-                rx, ry = i, j
-            elif graph[i][j] == 'B':
-                bx, by = i, j
-
-    queue.append((rx, ry, bx, by, 1))
-    visited[rx][ry][bx][by] = True
-
-
-def move(x, y, dx, dy):
-    cnt = 0
-
-    while graph[x + dx][y + dy] != '#' and graph[x][y] != 'O':
-        x += dx
-        y += dy
-        cnt += 1
-    return x, y, cnt
-
-
-def bfs():
-    while queue:
-        rx, ry, bx, by, ans = queue.popleft()
-        if ans > 10: break
-        for i in range(4):
-            nrx, nry, rcnt = move(rx, ry, dx[i], dy[i])
-            nbx, nby, bcnt = move(bx, by, dx[i], dy[i])
-
-            if graph[nbx][nby] != 'O':
-                if graph[nrx][nry] == 'O':
-                    print(ans)
-                    return
-
-                if nrx == nbx and nry == nby:
-                    if rcnt > bcnt:
-                        nrx -= dx[i]
-                        nry -= dy[i]
-                    else:
-                        nbx -= dx[i]
-                        nby -= dy[i]
-
-                if not visited[nrx][nry][nbx][nby]:
-                    visited[nrx][nry][nbx][nby] = True
-                    queue.append((nrx, nry, nbx, nby, ans+1))
-    print(-1)
-
-
-init()
-bfs()
\ No newline at end of file
diff --git a/Python_BOJ_2021/13549.py b/Python_BOJ_2021/13549.py
deleted file mode 100644
index 118d459..0000000
--- a/Python_BOJ_2021/13549.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 숨바꼭질 3
-import sys
-from collections import deque
-
-
-def bfs(start):
-    queue = deque([start])
-    while queue:
-        x = queue.popleft()
-        if x == k:
-            return arr[x]
-
-        for nx in (x - 1, x + 1, 2 * x):
-            if 0 <= nx < 100001 and not arr[nx]:
-                if nx == 2 * x and x != 0:
-                    arr[nx] = arr[x] + 1
-                    queue.appendleft(nx)
-                else:
-                    arr[nx] = arr[x] + 1
-                    queue.append(nx)
-
-
-n, k = map(int, sys.stdin.readline().rstrip().split())
-arr = [0] * 100001
-print(bfs(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1356.py b/Python_BOJ_2021/1356.py
deleted file mode 100644
index d43aa6d..0000000
--- a/Python_BOJ_2021/1356.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 유진수
-import sys
-
-s = sys.stdin.readline().rstrip()
-ans = 0
-for i in range(len(s)):
-    if s == '1': continue
-    forward = s[0:i + 1]
-    backward = s[i + 1:len(s) + 1]
-
-    x = 1
-    for j in forward:
-        x *= int(j)
-
-    y = 1
-    for j in backward:
-        y *= int(j)
-
-    if x == y:
-        ans += 1
-
-if ans >= 1:
-    print('YES')
-else:
-    print('NO')
\ No newline at end of file
diff --git a/Python_BOJ_2021/13565.py b/Python_BOJ_2021/13565.py
deleted file mode 100644
index 021208d..0000000
--- a/Python_BOJ_2021/13565.py
+++ /dev/null
@@ -1,31 +0,0 @@
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-m, n = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(m)]
-visited = [[False] * n for _ in range(m)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs():
-    while queue:
-        x, y = queue.popleft()
-        if x == m - 1:
-            print("YES")
-            return
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < m and 0 <= ny < n:
-                if not visited[nx][ny] and graph[nx][ny] == 0:
-                    visited[nx][ny] = True
-                    queue.append((nx, ny))
-    print("NO")
-
-
-queue = deque()
-for i in range(n):
-    if graph[0][i] == 0:
-        queue.append((0, i))
-        visited[0][i] = True
-bfs()
\ No newline at end of file
diff --git a/Python_BOJ_2021/1357.py b/Python_BOJ_2021/1357.py
deleted file mode 100644
index e215f1a..0000000
--- a/Python_BOJ_2021/1357.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 뒤집힌 덧셈
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = list(map(str, input().split()))
-x, y = arr[0], arr[1]
-
-
-def Rev(n):
-    return str(n[::-1])
-
-
-a = int(Rev(x))
-b = int(Rev(y))
-
-print(int(Rev(str(a + b))))
diff --git a/Python_BOJ_2021/1371.py b/Python_BOJ_2021/1371.py
deleted file mode 100644
index 77464ff..0000000
--- a/Python_BOJ_2021/1371.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 가장 많은 글자
-import sys
-
-n = sys.stdin.read()
-alpha = [0 for i in range(26)]
-
-for s in n:
-    if s.islower():
-        alpha[ord(s) - 97] += 1
-
-for i in range(26):
-    if alpha[i] == max(alpha):
-        print(chr(i + 97), end='')
\ No newline at end of file
diff --git a/Python_BOJ_2021/1373.py b/Python_BOJ_2021/1373.py
deleted file mode 100644
index ce2fa8a..0000000
--- a/Python_BOJ_2021/1373.py
+++ /dev/null
@@ -1,2 +0,0 @@
-# 2진수 8진수
-print('%o'%int(input(),2))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1389.py b/Python_BOJ_2021/1389.py
deleted file mode 100644
index 1f83ed7..0000000
--- a/Python_BOJ_2021/1389.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 케빈 베이컨의 6단계 법칙 - 플로이드 워셜 알고리즘
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-table = [[n for _ in range(n)] for _ in range(n)]
-
-for _ in range(m):
-    a, b = map(int, input().split())
-    table[a-1][b-1] = 1
-    table[b-1][a-1] = 1
-
-
-for k in range(n):
-    for i in range(n):
-        for j in range(n):
-            if i == j:
-                table[i][j] = 0
-            else:
-                table[i][j] = min(table[i][j], table[i][k] + table[k][j])
-
-ans = list()
-for i in table:
-    ans.append(sum(i))
-print(ans.index(min(ans)) + 1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13904.py b/Python_BOJ_2021/13904.py
deleted file mode 100644
index c6d7265..0000000
--- a/Python_BOJ_2021/13904.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 과제
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-ans, day = 0, 0
-
-arr = list()
-for i in range(n):
-    work = list(map(int, input().split()))
-    if work[0] > day: day = work[0]
-    work.append(i)
-    arr.append(work)
-arr = sorted(arr, key= lambda x : x[1], reverse=True)
-
-tmp = [-1 for _ in range(day+1)]
-
-for i in arr:
-    for j in range(i[0], 0, -1):
-        if tmp[j] == -1:
-            tmp[j] = i[2]
-            ans += i[1]
-            break
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/13913.py b/Python_BOJ_2021/13913.py
deleted file mode 100644
index ac16f30..0000000
--- a/Python_BOJ_2021/13913.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, k = map(int, input().split())
-arr = [0] * 100001
-prev_node = [0] * 100001
-
-
-def save_path(x):
-    path_arr = list()
-    tmp = x
-    for _ in range(arr[x] + 1):
-        path_arr.append(tmp)
-        tmp = prev_node[tmp]
-    print(' '.join(map(str, path_arr[::-1])))
-
-
-def bfs():
-    queue = deque()
-    queue.append(n)
-    while queue:
-        x = queue.popleft()
-        if x == k:
-            print(arr[x])
-            save_path(x)
-            return x
-
-        for nx in (x-1, x+1, 2*x):
-            if 0 <= nx < len(arr) and not arr[nx]:
-                queue.append(nx)
-                arr[nx] = arr[x] + 1
-                prev_node[nx] = x
-
-
-bfs()
\ No newline at end of file
diff --git a/Python_BOJ_2021/13985.py b/Python_BOJ_2021/13985.py
deleted file mode 100644
index 133d9be..0000000
--- a/Python_BOJ_2021/13985.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# Equality
-
-a, b = input().split('=')
-
-if eval(a) == int(b):
-    print('YES')
-else:
-    print('NO')
\ No newline at end of file
diff --git a/Python_BOJ_2021/14002.py b/Python_BOJ_2021/14002.py
deleted file mode 100644
index 86ce8bb..0000000
--- a/Python_BOJ_2021/14002.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 가장 긴 증가하는 부분 수열4
-# 27688564	hoijae0194	 14002	맞았습니다!!	32704	172	Python 3 / 수정	447
-from collections import deque
-
-n = int(input())
-A = list(map(int, input().split()))
-dp = [1] * n
-
-for i in range(1, n):
-    for j in range(i):
-        if A[i] > A[j] and dp[j] + 1 > dp[i]:
-            dp[i] = dp[j] + 1
-
-print(max(dp))
-
-idx = dp.index(max(dp))
-c = dp[idx]
-queue = deque()
-
-for i in range(idx-1, -1, -1):
-    if c == dp[i] + 1:
-        c = dp[i]
-        queue.appendleft(A[i])
-queue.append(A[idx])
-
-
-print(' '.join(map(str, queue)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/14003.py b/Python_BOJ_2021/14003.py
deleted file mode 100644
index d45fb8f..0000000
--- a/Python_BOJ_2021/14003.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 가장 긴 증가하는 부분 수열5
-
-from bisect import bisect_left
-
-N = int(input())
-arr = [0] + list(map(int,input().split())) # input
-d = [0] * (N+1) # for memoization
-cmp = [-1000000001] # 이진탐색을 위해 생성.
-maxVal = 0 #최대값을 저장할 변수
-
-for i in range(1, N+1): #arr 반복 실행.
-    if cmp[-1] < arr[i]: #이진탐색으로 저장된 값들은 정렬되므로 맨 뒤의 값 비교.
-        cmp.append(arr[i])
-        d[i] = len(cmp) - 1
-        maxVal = d[i]
-    else:
-        d[i] = bisect_left(cmp, arr[i]) #현재 값이 어느 위치의 값에 해당하는지 비교.
-        cmp[d[i]] = arr[i] #cmp 업데이트.
-print(maxVal) #최대 길이 출력
-
-res = []
-for i in range(N, 0, -1):
-    if d[i] == maxVal:
-        res.append(arr[i])
-        maxVal -= 1
-res.reverse()
-print(*res)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1406.py b/Python_BOJ_2021/1406.py
deleted file mode 100644
index e0fe06c..0000000
--- a/Python_BOJ_2021/1406.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 에디터
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-left = list(input())
-right = []
-
-T = int(input())
-while T:
-    T -= 1
-    cmd = input()
-    if cmd[0] == 'L':
-        if len(left):
-            right.append(left.pop())
-    elif cmd[0] == 'D':
-        if len(right):
-            left.append(right.pop())
-    elif cmd[0] == 'B':
-        if len(left):
-            left.pop()
-    elif cmd[0] == 'P':
-        left.append(cmd[2])
-
-ans = left
-while len(right):
-    ans.append(right.pop())
-
-print(''.join(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/14241.py b/Python_BOJ_2021/14241.py
deleted file mode 100644
index da5a72c..0000000
--- a/Python_BOJ_2021/14241.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 슬라임 합치기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-arr.sort()
-
-ans = 0
-
-for _ in range(n-1):
-    a = arr.pop(len(arr)-1)
-    if len(arr) == 0:
-        break
-    ans += a * arr[len(arr)-1]
-    arr[len(arr)-1] = a + arr[len(arr)-1]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1427.py b/Python_BOJ_2021/1427.py
deleted file mode 100644
index dc5fbb9..0000000
--- a/Python_BOJ_2021/1427.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# 소트인사이드
-
-a = list(input())
-a.sort(reverse=True)
-
-print(*a, sep='')
\ No newline at end of file
diff --git a/Python_BOJ_2021/14284.py b/Python_BOJ_2021/14284.py
deleted file mode 100644
index e69de29..0000000
diff --git a/Python_BOJ_2021/1436.py b/Python_BOJ_2021/1436.py
deleted file mode 100644
index 96e3baf..0000000
--- a/Python_BOJ_2021/1436.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 영화감독 숌
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-title = 666
-
-while n:
-    if '666' in str(title):
-        n -= 1
-    title += 1
-
-print(title - 1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1439.py b/Python_BOJ_2021/1439.py
deleted file mode 100644
index 64374e2..0000000
--- a/Python_BOJ_2021/1439.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 뒤집기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-s = list(input())
-
-convert_1, convert_0 = 0, 0
-
-for i in range(1, len(s)):
-    if s[i] != s[i-1]:
-        if s[i-1] == '0':
-            convert_1 += 1
-        else:
-            convert_0 += 1
-
-if s[-1] == '0':
-    convert_1 += 1
-else:
-    convert_0 += 1
-
-print(min(convert_1, convert_0))
\ No newline at end of file
diff --git a/Python_BOJ_2021/14405.py b/Python_BOJ_2021/14405.py
deleted file mode 100644
index 404e19a..0000000
--- a/Python_BOJ_2021/14405.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# 피카츄
-import sys
-
-s = sys.stdin.readline().rstrip()
-s = s.replace('pi', ' ').replace('ka', ' ').replace('chu', ' ')
-print('YES' if s.strip() == '' else 'NO')
\ No newline at end of file
diff --git a/Python_BOJ_2021/14425.py b/Python_BOJ_2021/14425.py
deleted file mode 100644
index e43ecaf..0000000
--- a/Python_BOJ_2021/14425.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 문자열 집합
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N, M = map(int, input().split())
-
-S = set()
-for _ in range(N):
-    S.add(input())
-
-cnt = 0
-for _ in range(M):
-    if input() in S:
-        cnt += 1
-
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1446.py b/Python_BOJ_2021/1446.py
deleted file mode 100644
index f65824b..0000000
--- a/Python_BOJ_2021/1446.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 지름길
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-
-n, d = map(int, input().split())
-graph = list()
-
-for _ in range(n):
-    from_, to_, weight = map(int, input().split())
-    if to_ <= d:
-        graph.append([from_, to_, weight])
-
-position = [i for i in range(d + 1)]
-for i in range(d + 1):
-    if i != 0:
-        position[i] = min(position[i], position[i - 1] + 1)
-
-    for j in graph:
-        if j[0] == i:
-            position[j[1]] = min(position[j[1]], position[j[0]] + j[2])
-print(position[d])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1449.py b/Python_BOJ_2021/1449.py
deleted file mode 100644
index 2cbdeff..0000000
--- a/Python_BOJ_2021/1449.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 수리공 항승
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N, L = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-
-tape = 1
-tape_length = arr[0] - 0.5 + L
-
-for i in range(1, N):
-    if tape_length < arr[i] + 0.5:
-        tape_length = arr[i] - 0.5 + L
-        tape += 1
-
-print(tape)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14496.py b/Python_BOJ_2021/14496.py
deleted file mode 100644
index 721b265..0000000
--- a/Python_BOJ_2021/14496.py
+++ /dev/null
@@ -1,31 +0,0 @@
-from collections import deque
-
-
-def bfs(a, b):
-    queue = deque()
-    queue.append(a)
-    check[a] = 0
-    while queue:
-        node = queue.popleft()
-        if node == b:
-            return check[node]
-
-        for i in graph[node]:
-            if check[i] == -1:
-                queue.append(i)
-                check[i] = check[node] + 1
-    return -1
-
-
-a, b = map(int, input().split())
-n, m = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-for _ in range(m):
-    from_, to_ = map(int, input().split())
-    if from_ == to_: continue
-    graph[from_].append(to_)
-    graph[to_].append(from_)
-
-print(graph)
-check = [-1] * (n + 1)
-print(bfs(a, b))
\ No newline at end of file
diff --git a/Python_BOJ_2021/14497.py b/Python_BOJ_2021/14497.py
deleted file mode 100644
index 5c8b27d..0000000
--- a/Python_BOJ_2021/14497.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 주난의 난
-from collections import deque
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m = map(int, input().split())
-x1, y1, x2, y2 = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(n)]
-visited = [[-1] * m for _ in range(n)]
-
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 0
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m and visited[nx][ny] == -1:
-                if graph[nx][ny] == '1' or graph[nx][ny] == '#':
-                    visited[nx][ny] = visited[x][y] + 1
-                    queue.append((nx, ny))
-                elif graph[nx][ny] == '0':
-                    visited[nx][ny] = visited[x][y]
-                    queue.appendleft((nx, ny))
-
-
-bfs(x1 - 1, y1 - 1)
-print(visited[x2 - 1][y2 - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/14499.py b/Python_BOJ_2021/14499.py
deleted file mode 100644
index 87666a5..0000000
--- a/Python_BOJ_2021/14499.py
+++ /dev/null
@@ -1,80 +0,0 @@
-# 주사위 굴리기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N, M, x, y, K = map(int,input().split())
-graph = [list(map(int, input().split())) for _ in range(N)]
-cmd = list(map(int, input().split()))
-
-
-class Dice:
-    def __init__(self):
-        self.top = 0
-        self.bottom = 0
-        self.east = 0
-        self.west = 0
-        self.north = 0
-        self.south = 0
-
-
-dice = Dice()
-
-for i in cmd:
-    if i == 1:
-        dx, dy = 0, 1
-        nx, ny = x + dx, y + dy
-
-        if 0 <= nx < N and 0 <= ny < M:
-            dice.east, dice.bottom, dice.west, dice.top = dice.top, dice.east, dice.bottom, dice.west
-
-            if graph[nx][ny] == 0:
-                graph[nx][ny] = dice.bottom
-            else:
-                dice.bottom = graph[nx][ny]
-                graph[nx][ny] = 0
-            print(dice.top)
-            x, y = nx, ny
-
-    elif i == 2:
-        dx, dy = 0, -1
-        nx, ny = x + dx, y + dy
-
-        if 0 <= nx < N and 0 <= ny < M:
-            dice.west, dice.bottom, dice.east, dice.top = dice.top, dice.west, dice.bottom, dice.east
-
-            if graph[nx][ny] == 0:
-                graph[nx][ny] = dice.bottom
-            else:
-                dice.bottom = graph[nx][ny]
-                graph[nx][ny] = 0
-            print(dice.top)
-            x, y = nx, ny
-
-    elif i == 3:
-        dx, dy = -1, 0
-        nx, ny = x + dx, y + dy
-
-        if 0 <= nx < N and 0 <= ny < M:
-            dice.north, dice.bottom, dice.south, dice.top = dice.top, dice.north, dice.bottom, dice.south
-
-            if graph[nx][ny] == 0:
-                graph[nx][ny] = dice.bottom
-            else:
-                dice.bottom = graph[nx][ny]
-                graph[nx][ny] = 0
-            print(dice.top)
-            x, y = nx, ny
-
-    elif i == 4:
-        dx, dy = 1, 0
-        nx, ny = x + dx, y + dy
-
-        if 0 <= nx < N and 0 <= ny < M:
-            dice.south, dice.top, dice.north, dice.bottom = dice.top, dice.north, dice.bottom, dice.south
-            if graph[nx][ny] == 0:
-                graph[nx][ny] = dice.bottom
-            else:
-                dice.bottom = graph[nx][ny]
-                graph[nx][ny] = 0
-            print(dice.top)
-            x, y = nx, ny
\ No newline at end of file
diff --git a/Python_BOJ_2021/14501.py b/Python_BOJ_2021/14501.py
deleted file mode 100644
index bfde1ab..0000000
--- a/Python_BOJ_2021/14501.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 퇴사
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N = int(input())
-arr = [list(map(int, input().split())) for _ in range(N)]
-dp = [0] * (N+1)
-
-for i in range(N-1, -1, -1):
-    if arr[i][0] + i > N:
-        dp[i] = dp[i+1]
-    else:
-        dp[i] = max(dp[i+1], arr[i][1] + dp[i + arr[i][0]])
-print(dp[0])
\ No newline at end of file
diff --git a/Python_BOJ_2021/14502.py b/Python_BOJ_2021/14502.py
deleted file mode 100644
index 54bbce4..0000000
--- a/Python_BOJ_2021/14502.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# 연구소
-import sys
-sys.setrecursionlimit(1001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-tmp = [[0] * m for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0] , [0, 0, -1, 1]
-ans = 0
-
-
-def spread_virus(x, y):
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-
-        if 0 <= nx < n and 0 <= ny < m:
-            if tmp[nx][ny] == 0:
-                tmp[nx][ny] = 2
-                spread_virus(nx, ny)
-
-
-def safe_area():
-    cnt = 0
-    for i in range(n):
-        for j in range(m):
-            if tmp[i][j] == 0:
-                cnt += 1
-    return cnt
-
-
-def dfs(wall):
-    global ans
-    if wall == 3:
-        for i in range(n):
-            for j in range(m):
-                tmp[i][j] = graph[i][j]
-
-        for i in range(n):
-            for j in range(m):
-                if tmp[i][j] == 2:
-                    spread_virus(i, j)
-
-        ans = max(ans, safe_area())
-        return
-
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 0:
-                graph[i][j] = 1
-                wall += 1
-                dfs(wall)
-                graph[i][j] = 0
-                wall -= 1
-
-
-dfs(0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14502_2.py b/Python_BOJ_2021/14502_2.py
deleted file mode 100644
index 62c9239..0000000
--- a/Python_BOJ_2021/14502_2.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# 연구소
-import sys
-from collections import deque
-sys.setrecursionlimit(100000)
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-tmp_graph = [[0] * m for _ in range(n)]
-ans = 0
-
-
-def set_wall(wall_cnt): # DFS
-    global ans
-    if wall_cnt == 3: # 벽 3개 치고
-        for i in range(n):
-            for j in range(m):
-                tmp_graph[i][j] = graph[i][j] # 그래프 복사
-
-        for i in range(n):
-            for j in range(m):
-                if tmp_graph[i][j] == 2: # 바이러스 있으면
-                    virus(i, j) # 바이러스 퍼트리기
-        ans = max(ans, countSafe())
-        return
-
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 0:
-                graph[i][j] = 1
-                wall_cnt += 1
-                set_wall(wall_cnt)
-                graph[i][j] = 0
-                wall_cnt -= 1
-
-
-def virus(x, y): # BFS
-    queue = deque()
-    queue.append([x, y])
-    while queue:
-        xx, yy = queue.popleft()
-        for i in range(4):
-            nx, ny = xx + dx[i], yy + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if tmp_graph[nx][ny] == 0:
-                    tmp_graph[nx][ny] = 2
-                    queue.append([nx, ny])
-
-
-def countSafe():
-    cnt = 0
-    for i in range(n):
-        for j in range(m):
-            if tmp_graph[i][j] == 0:
-                cnt += 1
-    return cnt
-
-
-set_wall(0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14503.py b/Python_BOJ_2021/14503.py
deleted file mode 100644
index c3e7038..0000000
--- a/Python_BOJ_2021/14503.py
+++ /dev/null
@@ -1,66 +0,0 @@
-# 로봇 청소기
-from collections import deque
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-dr, dc = [-1, 0, 1, 0], [0, 1, 0, -1]   # 북 동 남 서
-
-
-def move_rotate(a):
-    if a == 0:      # 북 > 서
-        return 3
-    elif a == 1:    # 동 > 북
-        return 0
-    elif a == 2:    # 남 > 동
-        return 1
-    elif a == 3:    # 서 > 동
-        return 2
-
-
-def move_back(b):
-    if b == 0:      # 북 > 남
-        return 2
-    elif b == 1:    # 동 > 서
-        return 3
-    elif b == 2:    # 남 > 북
-        return 0
-    elif b == 3:    # 서 > 동
-        return 1
-
-
-def bfs(r, c, d):
-    ans = 1
-    graph[r][c] = 2
-    queue = deque([[r, c, d]])
-
-    while queue:
-        r, c, d = queue.popleft()
-        tmp_d = d
-
-        for i in range(4):
-            tmp_d = move_rotate(tmp_d)
-            nr, nc = r + dr[tmp_d], c + dc[tmp_d]
-
-            # case : a
-            if 0 <= nr < n and 0 <= nc < m and not graph[nr][nc]:
-                ans += 1
-                graph[nr][nc] = 2
-                queue.append([nr, nc, tmp_d])
-                break
-
-            elif i == 3:    # case : c
-                nr, nc = r + dr[move_back(d)], c + dc[move_back(d)]
-                queue.append([nr, nc, d])
-
-                if graph[nr][nc] == 1:  # case : d
-                    return ans
-
-
-n, m = map(int, input().split())
-r, c, d = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-print(bfs(r, c, d))
-
-
-
diff --git a/Python_BOJ_2021/1459.py b/Python_BOJ_2021/1459.py
deleted file mode 100644
index 2a045dd..0000000
--- a/Python_BOJ_2021/1459.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# 걷기
-
-x, y, w, s = map(int, input().split())
-X, Y = min(x, y), max(x, y)
-m = (X + Y) % 2
-print(min((X + Y) * w, X * s + (Y - X) * w, (Y - m) * s + m * w))
\ No newline at end of file
diff --git a/Python_BOJ_2021/14594.py b/Python_BOJ_2021/14594.py
deleted file mode 100644
index 401b255..0000000
--- a/Python_BOJ_2021/14594.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 동방 프로젝트 (Small)
-
-n = int(input())
-m = int(input())
-parent = [0] * (n + 1)
-for i in range(1, n + 1):
-    parent[i] = i
-
-def find(x):
-    if parent[x] != x:
-        parent[x] = find(parent[x])
-    return parent[x]
-
-def union(x, y):
-    x = find(x)
-    y = find(y)
-    if x < y:
-        parent[y] = x
-    else:
-        parent[x] = y
-
-cnt = 0
-for i in range(m):
-    x, y = map(int, input().split())
-
-    for j in range(x, y + 1):
-        if find(j) != find(y):
-            union(j, y)
-            cnt += 1
-
-print(n - cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1461.py b/Python_BOJ_2021/1461.py
deleted file mode 100644
index 3e267ff..0000000
--- a/Python_BOJ_2021/1461.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# 도서관
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-books = list(map(int, input().split()))
-
-plus, minus = list(), list()
-for i in range(n):
-    if books[i] >= 0:
-        plus.append(books[i])
-    else:
-        minus.append(books[i])
-
-plus = sorted(plus, reverse=True)
-
-for i in range(len(minus)):
-    minus[i] = minus[i] * -1
-minus = sorted(minus, reverse=True)
-
-idx, result, M = 0, 0, 0
-while idx < len(plus):
-    if plus[idx] > M:
-        result += plus[idx]
-        result += M
-        M = plus[idx]
-    else:
-        result += plus[idx] * 2
-    idx += m
-
-idx = 0
-while idx < len(minus):
-    if minus[idx] > M:
-        result += minus[idx]
-        result += M
-        M = minus[idx]
-    else:
-        result += minus[idx] * 2
-    idx += m
-
-print(result)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1463.py b/Python_BOJ_2021/1463.py
deleted file mode 100644
index aef5b7e..0000000
--- a/Python_BOJ_2021/1463.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 1로 만들기
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-x = int(input())
-d = [0] * 1000001
-
-for i in range(2, x + 1):
-    d[i] = d[i-1] + 1
-
-    if i % 3 == 0:
-        d[i] = min(d[i], d[i // 3] + 1)
-
-    if i % 2 == 0:
-        d[i] = min(d[i], d[i // 2] + 1)
-
-print(d[x])
\ No newline at end of file
diff --git a/Python_BOJ_2021/14650.py b/Python_BOJ_2021/14650.py
deleted file mode 100644
index fc40d76..0000000
--- a/Python_BOJ_2021/14650.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 걷다보니 신천역 삼
-import sys
-sys.setrecursionlimit(10000000)
-
-N = int(sys.stdin.readline().rstrip())
-ans = 0
-
-
-def calc(n, sum):
-    global ans
-    for i in range(3):
-        if n == 0 and i == 0:
-            continue
-        if n == N:
-            if sum % 3 == 0:
-                ans += 1
-                return ans
-        else:
-            calc(n + 1, sum + i)
-
-
-calc(0, 0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14659.py b/Python_BOJ_2021/14659.py
deleted file mode 100644
index 9cfd3f8..0000000
--- a/Python_BOJ_2021/14659.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 한조서열정리하고옴ㅋㅋ
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-group = list(map(int, input().split()))
-
-kill_cnt = 0
-max_kill = 0
-ans = 0
-
-
-for i in group:
-    if i > max_kill:
-        max_kill = i
-        kill_cnt = 0
-    else:
-        kill_cnt += 1
-    ans = max(ans, kill_cnt)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14681.py b/Python_BOJ_2021/14681.py
deleted file mode 100644
index a50cddd..0000000
--- a/Python_BOJ_2021/14681.py
+++ /dev/null
@@ -1,21 +0,0 @@
-won = int(input())
-sea = int(input())
-sang = int(input())
-seung = int(input())
-kang = int(input())
-
-if won < 40:
-    won = 40
-if sea < 40:
-    sea = 40
-if sang < 40:
-    sang = 40
-if seung < 40:
-    seung = 40
-if kang < 40:
-    kang = 40
-
-sum = won + sea + sang + seung + kang
-avg = sum / 5
-
-print(int(avg))
diff --git a/Python_BOJ_2021/14720.py b/Python_BOJ_2021/14720.py
deleted file mode 100644
index d66f245..0000000
--- a/Python_BOJ_2021/14720.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 우유 축제
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-ans = 0
-
-for i in range(n):
-    if arr[i] == ans % 3:
-        ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14754.py b/Python_BOJ_2021/14754.py
deleted file mode 100644
index f722a7e..0000000
--- a/Python_BOJ_2021/14754.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Pizza Boxes
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-x, y = map(int, input().split())
-
-arr = []
-arr2 = set()
-
-for i in range(x):
-    row = list(map(int, input().split()))
-    arr2.add(max(row))
-    arr.append(row)
-
-for j in range(y):
-    arr2.add(max(arr[i][j] for i in range(x)))
-
-print(sum(map(sum, arr)) - sum(arr2))
\ No newline at end of file
diff --git a/Python_BOJ_2021/14888.py b/Python_BOJ_2021/14888.py
deleted file mode 100644
index 649ed7b..0000000
--- a/Python_BOJ_2021/14888.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 연산자 끼워넣기
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-add, sub, mul, div = map(int, input().split())
-_min, _max = 123456789, -123456789
-
-
-def dfs(i, res, add, sub, mul, div):
-    global _min, _max
-    if i == n:
-        _max = max(res, _max)
-        _min = min(res, _min)
-        return
-
-    else:
-        if add:
-            dfs(i+1, res+arr[i], add-1, sub, mul, div)
-        if sub:
-            dfs(i+1, res-arr[i], add, sub-1, mul, div)
-        if mul:
-            dfs(i+1, res*arr[i], add, sub, mul-1, div)
-        if div:
-            dfs(i+1, int(res/arr[i]), add, sub, mul, div-1)
-
-
-dfs(1, arr[0], add, sub, mul, div)
-
-print(_max)
-print(_min)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14889.py b/Python_BOJ_2021/14889.py
deleted file mode 100644
index d531c6b..0000000
--- a/Python_BOJ_2021/14889.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 스타트와 링크
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [list(map(int, input().split()))]
-select = [0 for _ in range(n)]
-ans = int(1e9)
-
-
-def dfs(idx, cnt):
-    global ans
-    if cnt == n // 2:
-        start, link = 0, 0
-        for i in range(n):
-            for j in range(n):
-                if select[i] and select[j]:
-                    start += arr[i][j]
-
-                elif not select[i] and not select[j]:
-                    link += arr[i][j]
-        ans = min(ans, abs(start - link))
-
-    for i in range(idx, n):
-        if select[i]: continue
-        select[i] = 1
-        dfs(i + 1, cnt + 1)
-        select[i] = 0
-
-
-dfs(0, 0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14889_2.py b/Python_BOJ_2021/14889_2.py
deleted file mode 100644
index 685dfb3..0000000
--- a/Python_BOJ_2021/14889_2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-from itertools import combinations
-input = lambda :sys.stdin.readline().rstrip()
-
-N = int(input())
-graph = [list(map(int, input().split())) for _ in range(N)]
-tmp = [sum(i) + sum(j) for i, j in zip(graph, zip(*graph))]
-all_stat = sum(tmp) // 2
-
-print(min([abs(all_stat - sum(stat)) for stat in combinations(tmp, N // 2)]))
-
-print(tmp)
-for i, j in zip(graph, zip(*graph)):
-    print(i, j)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14890.py b/Python_BOJ_2021/14890.py
deleted file mode 100644
index 0dbb9bb..0000000
--- a/Python_BOJ_2021/14890.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# 경사로
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, l = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-
-def check(arr):
-    now_pos = arr[0]
-    visited = [False for _ in range(n)]
-
-    for row, height in enumerate(arr):
-
-        if now_pos == height:
-            continue # 높이가 같으면 그냥 진행
-
-        elif now_pos + 1 == height: # 높은 곳으로 이동 할 떄, 남은 거리가 l보다 크거나 같으면 이동가능
-            for j in range(row - 1, row - 1 - l, -1):
-                if j < 0 or now_pos != arr[j] or visited[j]:
-                    return False
-
-                visited[j] = True
-            now_pos = height
-
-        elif now_pos - 1 == height: # 낮은 곳으로 이동 할 떄, 남은 거리가 l보다 크거나 같으면 이동가능
-            for j in range(row, row + l):
-                if j >= n or now_pos - 1 != arr[j] or visited[j]:
-                    return False
-
-                visited[j] = True
-            now_pos = height
-
-        else: # 높이 차이가 1 이상으로 나면 이동 불가
-            return False
-
-    return True
-
-
-def solve():
-    ans = 0
-    for i in range(n):
-        if check(graph[i]): # 1 row씩 체크
-            ans += 1
-
-    for j in range(n):
-        col = list()
-        for i in range(n):
-            col.append(graph[i][j])
-
-        if check(col): # 1 column씩 체크
-            ans += 1
-
-    print(ans)
-
-
-solve()
\ No newline at end of file
diff --git a/Python_BOJ_2021/14891.py b/Python_BOJ_2021/14891.py
deleted file mode 100644
index 0665f1e..0000000
--- a/Python_BOJ_2021/14891.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 톱니바퀴
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def cw_rotate(n, dir, graph):
-    if n == 4: return
-
-    if graph[n - 1][2] != graph[n][6]:
-        cw_rotate(n + 1, -dir, graph)
-        graph[n].rotate(dir)
-    else:
-        return
-
-
-def ccw_rotate(n, dir, graph):
-    if n == -1: return
-
-    if graph[n + 1][6] != graph[n][2]:
-        ccw_rotate(n - 1, -dir, graph)
-        graph[n].rotate(dir)
-    else:
-        return
-
-
-graph = [deque(map(int, input())) for _ in range(4)]
-for _ in range(int(input())):
-    num, wise = map(int, input().split())
-    cw_rotate(num, -wise, graph)
-    ccw_rotate(num - 2, -wise, graph)
-    graph[num - 1].rotate(wise)
-
-ans = 0
-for i in range(4):
-    ans += (2 ** i) * graph[i][0]
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/14916.py b/Python_BOJ_2021/14916.py
deleted file mode 100644
index 513f82f..0000000
--- a/Python_BOJ_2021/14916.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 거스름돈
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-coin = 0
-
-while True:
-    if n % 5 != 0:
-        n -= 2
-        coin += 1
-
-    else:
-        coin += n / 5
-        n = n % 5
-
-    if n == 0:
-        print(int(coin))
-        break
-
-    elif n < 0:
-        print(-1)
-        break
\ No newline at end of file
diff --git a/Python_BOJ_2021/14923.py b/Python_BOJ_2021/14923.py
deleted file mode 100644
index 8987f90..0000000
--- a/Python_BOJ_2021/14923.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# 미로 탈출
-from collections import deque
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfS():
-    ans = 0
-    queue = deque()
-    queue.append((hx, hy, 0))
-    visited[0][hx][hy] = True
-
-    while queue:
-        ans += 1
-        size = len(queue)
-        while size > 0:
-            x, y, k = queue.popleft()
-
-            for d in range(4):
-                nx, ny = x + dx[d], y + dy[d]
-                if 0 <= nx < n and 0 <= ny < m:
-                    if graph[nx][ny] == 1:
-                        if k == 0 and not visited[k + 1][nx][ny]:
-                            if nx == ex and ny == ey: return ans
-                            queue.append((nx, ny, 1))
-                            visited[k + 1][nx][ny] = True
-                    else:
-                        if not visited[k][nx][ny]:
-                            if nx == ex and ny == ey: return ans
-                            queue.append((nx, ny, k))
-                            visited[k][nx][ny] = True
-            size -= 1
-    return -1
-
-
-n, m = map(int, input().split())
-hx, hy = map(lambda x: int(x) - 1, input().split())
-ex, ey = map(lambda x: int(x) - 1, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [[[0] * m for _ in range(n)] for _ in range(2)]
-print(bfS())
\ No newline at end of file
diff --git a/Python_BOJ_2021/14938.py b/Python_BOJ_2021/14938.py
deleted file mode 100644
index cf3a261..0000000
--- a/Python_BOJ_2021/14938.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 서강그라운드
-# 27632719	hoijae0194	 14938	맞았습니다!!	28776	536	Python 3 / 수정	678
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-n, m, r = map(int,input().split())
-items = list(map(int, input().split()))
-graph = [[INF] * (n + 1) for _ in range(n + 1)]
-
-for i in range(1, n + 1):
-    graph[i][i] = 0
-
-for _ in range(r):
-    a, b, l = map(int, input().split())
-    graph[a][b] = l
-    graph[b][a] = l
-
-for k in range(1, n + 1):
-    for a in range(1, n + 1):
-        for b in range(1, n + 1):
-            graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])
-
-ans = 0
-for i in range(1, n + 1):
-    tmp = 0
-    for j in range(1, n + 1):
-        if graph[i][j] <= m:
-            tmp += items[j - 1]
-
-    ans = max(ans, tmp)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1504.py b/Python_BOJ_2021/1504.py
deleted file mode 100644
index bde11ab..0000000
--- a/Python_BOJ_2021/1504.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 특정한 최단 경로
-import heapq, sys
-input = lambda : sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-n, e = map(int, input().split())
-edges = [[] for _ in range(n + 1)]
-
-for _ in range(e):
-    a, b, c = map(int, input().split())
-    edges[a].append((c, b))
-    edges[b].append((c, a))
-
-v1, v2 = map(int, input().split())
-
-
-def dijikstra(s):
-    queue = list()
-    heapq.heappush(queue, (0, s))
-    distance = [INF] * (n + 1)
-    distance[s] = 0
-    while queue:
-        cost, now = heapq.heappop(queue)
-        if distance[now] < cost:
-            continue
-        for cost2, now2 in edges[now]:
-            cost3 = cost + cost2
-            if distance[now2] > cost3:
-                distance[now2] = cost3
-                heapq.heappush(queue, (cost3, now2))
-    return distance
-
-
-ans = INF
-a = dijikstra(1)[v1]
-b = dijikstra(v1)[v2]
-c = dijikstra(v2)[n]
-
-d = dijikstra(1)[v2]
-e = dijikstra(v2)[v1]
-f = dijikstra(v1)[n]
-ans = min(ans, a + b + c, d + e + f)
-
-if ans >= INF:
-    print(-1)
-else:
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1525.py b/Python_BOJ_2021/1525.py
deleted file mode 100644
index 0c4932d..0000000
--- a/Python_BOJ_2021/1525.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 퍼즐
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-graph = [list(map(int, input().split())) for _ in range(3)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs():
-    while queue:
-        val = queue.popleft()
-
-        if val == 123456789:
-            print(distance[val])
-            return
-
-        s = str(val)
-        k = s.find('9')
-        x, y = k // 3, k % 3
-
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < 3 and 0 <= ny < 3:
-                nk = nx * 3 + ny
-                ns = list(s)
-                ns[k], ns[nk] = ns[nk], ns[k]
-                nd = int(''.join(ns))
-                if not distance.get(nd):
-                    distance[nd] = distance[val] + 1
-                    queue.append(nd)
-
-    print(-1)
-
-
-m = 0
-queue, distance = deque(), dict()
-for i in range(3):
-    for j in range(3):
-        n = graph[i][j]
-        if not n:
-            n = 9
-        m = m * 10 + n
-
-queue.append(m)
-distance[m] = 0
-bfs()
\ No newline at end of file
diff --git a/Python_BOJ_2021/1535.py b/Python_BOJ_2021/1535.py
deleted file mode 100644
index ad85718..0000000
--- a/Python_BOJ_2021/1535.py
+++ /dev/null
@@ -1,14 +0,0 @@
-N = int(input())
-L = [int(x) for x in input().split()]
-J = [int(x) for x in input().split()]
-L, J = [0] + L, [0] + J
-dp = [[0 for _ in range(101)] for _ in range(N + 1)]
-
-for i in range(1, N + 1):
-    for j in range(1, 101):
-        if L[i] <= j:
-            dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - L[i]] + J[i])
-        else:
-            dp[i][j] = dp[i - 1][j]
-
-print(dp[N][99])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1541.py b/Python_BOJ_2021/1541.py
deleted file mode 100644
index 7cc4ecb..0000000
--- a/Python_BOJ_2021/1541.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 잃어버린 괄호
-
-num = list(map(str, input().split('-')))
-
-if '+' in num[0]:
-    arr = list(map(int, num[0].split('+')))
-    ans = sum(arr)
-else:
-    ans = int(num[0])
-
-for i in range(1, len(num)):
-    if '+' in num[i]:
-        arr = list(map(int, num[i].split('+')))
-        ans -= sum(arr)
-    else:
-        ans -= int(num[i])
-
-print(ans)
diff --git a/Python_BOJ_2021/1543.py b/Python_BOJ_2021/1543.py
deleted file mode 100644
index 8b2fc90..0000000
--- a/Python_BOJ_2021/1543.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 문서검색
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-string = list(input())
-i = list(input())
-
-cnt = 0
-current_idx = 0
-
-while current_idx < len(string):
-    for idx in range(len(i)):
-        if current_idx + idx >= len(string):
-            current_idx += 1
-            break
-
-        if i[idx] != string[current_idx + idx]:
-            current_idx += 1
-            break
-
-    else:
-        cnt += 1
-        current_idx += len(i)
-
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1546.py b/Python_BOJ_2021/1546.py
deleted file mode 100644
index de63d12..0000000
--- a/Python_BOJ_2021/1546.py
+++ /dev/null
@@ -1,17 +0,0 @@
-n = int(input())
-score = list(map(int, input().split()))
-
-M = max(score)
-
-new_list = []
-sum = 0
-
-for i in range(n):
-    new_avg = score[i] / M * 100
-    new_list.append(new_avg)
-    sum = new_list[i] + sum
-
-avg = sum / n
-
-print(avg)
-
diff --git a/Python_BOJ_2021/15596.py b/Python_BOJ_2021/15596.py
deleted file mode 100644
index c359487..0000000
--- a/Python_BOJ_2021/15596.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 정수 N개의 합
-
-def solve(a):
-    ans = 0
-    for i in range(len(a)):
-        ans += a[i]
-    return ans
-
-a = list(map(int,input().split()))
-
-print(solve(a))
\ No newline at end of file
diff --git a/Python_BOJ_2021/15649 - python.py b/Python_BOJ_2021/15649 - python.py
deleted file mode 100644
index 4471b25..0000000
--- a/Python_BOJ_2021/15649 - python.py	
+++ /dev/null
@@ -1,9 +0,0 @@
-# N과 M(1)
-
-from itertools import permutations
-import sys
-
-n, m = map(int, sys.stdin.readline().rstrip().split())
-
-for n in permutations(range(1, n+1), m):
-    print(*n)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15649.py b/Python_BOJ_2021/15649.py
deleted file mode 100644
index ed0ff53..0000000
--- a/Python_BOJ_2021/15649.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# N과 M
-
-N, M = map(int, input().split())
-
-check = [False] * (N + 1)
-ans = [0] * M
-
-
-def recursive(idx, n, m):
-    if idx == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-
-        return
-
-    for i in range(1, n + 1):
-        if check[i]:
-            continue
-
-        check[i] = True
-        ans[idx] = i
-        recursive(idx + 1, n, m)
-        check[i] = False
-
-
-recursive(0, N, M)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15650.py b/Python_BOJ_2021/15650.py
deleted file mode 100644
index 5f56444..0000000
--- a/Python_BOJ_2021/15650.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# N과 M(2)
-
-from itertools import combinations
-import sys
-
-n, m = map(int, sys.stdin.readline().rstrip().split())
-
-for n in combinations(range(1, n+1), m):
-    print(*n)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15651.py b/Python_BOJ_2021/15651.py
deleted file mode 100644
index bfaf620..0000000
--- a/Python_BOJ_2021/15651.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# N과 M(3)
-
-from itertools import product
-import sys
-
-n, m = map(int, sys.stdin.readline().rstrip().split())
-
-for n in product(range(1, n+1), repeat=m):
-    print(*n)
diff --git a/Python_BOJ_2021/15652.py b/Python_BOJ_2021/15652.py
deleted file mode 100644
index 5be29cb..0000000
--- a/Python_BOJ_2021/15652.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# N과 M(4)
-
-import itertools
-import sys
-
-n, m = map(int, sys.stdin.readline().rstrip().split())
-
-for n in itertools.combinations_with_replacement(range(1, n+1), m):
-    print(*n)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15654.py b/Python_BOJ_2021/15654.py
deleted file mode 100644
index 11ce98e..0000000
--- a/Python_BOJ_2021/15654.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# n과 m (5)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-isUsed = [0] * (n + 1)
-
-def Recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    for i in range(n):
-        if isUsed[i]: continue
-        isUsed[i] = 1
-        ans[depth] = arr[i]
-        Recursive(depth + 1)
-        isUsed[i] = 0
-
-Recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15655.py b/Python_BOJ_2021/15655.py
deleted file mode 100644
index 2d13f03..0000000
--- a/Python_BOJ_2021/15655.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# N과 M(6)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-
-
-def Combination(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    for i in range(start, len(arr)):
-        ans[depth] = arr[i]
-        Combination(depth + 1, i + 1)
-
-Combination(0, 0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15656.py b/Python_BOJ_2021/15656.py
deleted file mode 100644
index 720e71b..0000000
--- a/Python_BOJ_2021/15656.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# n과 m (7)
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-
-
-def Recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    for i in range(n):
-        ans[depth] = arr[i]
-        Recursive(depth + 1)
-
-
-Recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15657.py b/Python_BOJ_2021/15657.py
deleted file mode 100644
index edbe8f0..0000000
--- a/Python_BOJ_2021/15657.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# N과 M(8)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-
-
-def Combination(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    for i in range(start, len(arr)):
-        ans[depth] = arr[i]
-        Combination(depth + 1, i)
-
-Combination(0, 0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15658.py b/Python_BOJ_2021/15658.py
deleted file mode 100644
index 2a0276f..0000000
--- a/Python_BOJ_2021/15658.py
+++ /dev/null
@@ -1,42 +0,0 @@
-import sys
-sys.setrecursionlimit(100001)
-
-n = int(input())
-arr = list(map(int, input().split()))
-op = list(map(int, input().split()))
-
-max_val = -int(1e9)
-min_val = int(1e9)
-
-
-def dfs(idx, ans):
-    global max_val, min_val
-    if idx == n:
-        max_val = max(max_val, ans)
-        min_val = min(min_val, ans)
-        return
-
-    if op[0] > 0:
-        op[0] -= 1
-        dfs(idx + 1, ans + arr[idx])
-        op[0] += 1
-
-    if op[1] > 0:
-        op[1] -= 1
-        dfs(idx + 1, ans - arr[idx])
-        op[1] += 1
-
-    if op[2] > 0:
-        op[2] -= 1
-        dfs(idx + 1, ans * arr[idx])
-        op[2] += 1
-
-    if op[3] > 0:
-        op[3] -= 1
-        dfs(idx + 1, int(ans / arr[idx]))
-        op[3] += 1
-
-
-dfs(1, arr[0])
-print(max_val)
-print(min_val)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15663.py b/Python_BOJ_2021/15663.py
deleted file mode 100644
index 1af1718..0000000
--- a/Python_BOJ_2021/15663.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# n과 m (9)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-isUsed = [0] * (n + 1)
-
-
-def Subset(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    overlap = 0
-    for i in range(n):
-        if isUsed[i]: continue
-        elif overlap != arr[i]:
-            isUsed[i] = 1
-            ans[depth] = arr[i]
-            overlap = arr[i]
-            Subset(depth + 1)
-            isUsed[i] = 0
-
-
-Subset(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15664.py b/Python_BOJ_2021/15664.py
deleted file mode 100644
index 402a46e..0000000
--- a/Python_BOJ_2021/15664.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# n과 m(10)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-chk = [0] * (n + 1)
-
-
-def Recursive(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    overlap = 0
-    for i in range(start, n):
-        if chk[i]: continue
-        if arr[i] != overlap:
-            chk[i] = 1
-            ans[depth] = arr[i]
-            Recursive(depth+1, i + 1)
-            overlap = arr[i]
-            chk[i] = 0
-
-Recursive(0, 0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15665.py b/Python_BOJ_2021/15665.py
deleted file mode 100644
index 315b91a..0000000
--- a/Python_BOJ_2021/15665.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# n과 m (11)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-
-
-def Recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    overlap = 0
-    for i in range(n):
-        if overlap == arr[i]: continue
-        ans[depth] = arr[i]
-        Recursive(depth + 1)
-        overlap = arr[i]
-
-
-Recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15666.py b/Python_BOJ_2021/15666.py
deleted file mode 100644
index bde0967..0000000
--- a/Python_BOJ_2021/15666.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# n과 m (12)
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-ans = [0] * (n + 1)
-
-
-def Subset(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    overlap = 0
-    for i in range(start, n):
-        if overlap != arr[i]:
-            ans[depth] = arr[i]
-            Subset(depth + 1, i)
-            overlap = arr[i]
-
-
-Subset(0, 0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15684.py b/Python_BOJ_2021/15684.py
deleted file mode 100644
index 7eac55e..0000000
--- a/Python_BOJ_2021/15684.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# 사다리 조작
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-sys.setrecursionlimit(100000)
-
-n, m, h = map(int, input().split())
-board = [[False] * n for _ in range(h)]
-if m == 0:
-    print(0)
-    exit(0)
-for _ in range(m):
-    a, b = map(int, input().split())
-    board[a - 1][b - 1] = True
-
-
-def checkBoard():
-    for start in range(n):
-        k = start
-        for j in range(h):
-            if board[j][k]:
-                k += 1
-            elif k > 0 and board[j][k - 1]:
-                k -= 1
-        if k != start: return False
-    return True
-
-
-def dfs(depth, x, y):
-    global answer
-    if checkBoard():
-        answer = min(answer, depth)
-        return
-    elif depth == 3 or answer <= depth:
-        return
-
-    for i in range(x, h):
-        if i == x:
-            k = y
-        else:
-            k = 0
-
-        for j in range(k, n - 1):
-            if not board[i][j] and not board[i][j + 1]:
-                if j > 0 and board[i][j - 1]:
-                    continue
-                board[i][j] = True
-                dfs(depth + 1, i, j + 2)
-                board[i][j] = False
-
-
-answer = 4
-dfs(0, 0, 0)
-print(answer if answer < 4 else -1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15686.py b/Python_BOJ_2021/15686.py
deleted file mode 100644
index c1a1026..0000000
--- a/Python_BOJ_2021/15686.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 치킨 배달
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-ans, home, chicken, tmp = int(1e9), list(), list(), list()
-
-
-def solve(i, cnt):
-    global ans
-    if i > len(chicken):
-        return
-    if cnt == m:
-        s = 0
-        for hx, hy in home:
-            dist = int(1e9)
-            for j in tmp:
-                cx, cy = chicken[j]
-                dist = min(dist, abs(hx - cx) + abs(hy - cy))
-            s += dist
-        ans = min(ans, s)
-        return
-    tmp.append(i)
-    solve(i + 1, cnt + 1)
-    tmp.pop()
-    solve(i + 1, cnt)
-
-
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 1:
-            home.append((i + 1, j + 1))
-        elif graph[i][j] == 2:
-            chicken.append((i + 1, j + 1))
-solve(0, 0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15813.py b/Python_BOJ_2021/15813.py
deleted file mode 100644
index 2a674f7..0000000
--- a/Python_BOJ_2021/15813.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 너의 이름은 몇 점이니?
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-name = input()
-sum = 0
-
-for i in range(n):
-    sum += int(ord(name[i]) - ord('A')) + 1
-
-print(sum)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15814.py b/Python_BOJ_2021/15814.py
deleted file mode 100644
index 47abd48..0000000
--- a/Python_BOJ_2021/15814.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 야바위 대장
-
-s = list(map(str, input()))
-for _ in range(int(input())):
-    a, b = map(int, input().split())
-    s[a], s[b] = s[b], s[a]
-print(''.join(s))
\ No newline at end of file
diff --git a/Python_BOJ_2021/15829.py b/Python_BOJ_2021/15829.py
deleted file mode 100644
index eacd586..0000000
--- a/Python_BOJ_2021/15829.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Hashing
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-l, tmp, ans = int(input()), input(), 0
-
-for i in range(l):
-    ans += (ord(tmp[i]) - 96) * (31 ** i)
-
-print(ans % 1234567891)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15874.py b/Python_BOJ_2021/15874.py
deleted file mode 100644
index 1684039..0000000
--- a/Python_BOJ_2021/15874.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Caesar Cipher
-
-k, l = map(int, input().split())
-k %= 26
-s = input()
-
-if k == 0: print(s)
-else:
-    result = ""
-    for i in range(l):
-        if s[i].isalpha():
-            if s[i].isupper():
-                a = ord(s[i]) - ord('A')
-                a += k
-                a %= 26
-                result += chr(a + ord('A'))
-            else:
-                a = ord(s[i]) - ord('a')
-                a += k
-                a %= 26
-                result += chr(a + ord('a'))
-        else:
-            result += s[i]
-
-    print(result)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15903.py b/Python_BOJ_2021/15903.py
deleted file mode 100644
index c08072c..0000000
--- a/Python_BOJ_2021/15903.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 카드 합체 놀이
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int,input().split())
-cards = list(map(int, input().split()))
-
-for _ in range(m):
-    cards.sort()
-    new_num = cards[0] + cards[1]
-    cards[0], cards[1] = new_num, new_num
-
-ans = sum(cards)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/15904.py b/Python_BOJ_2021/15904.py
deleted file mode 100644
index 294b76a..0000000
--- a/Python_BOJ_2021/15904.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# UCPC는 무엇의 약자일까?
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = input()
-check_list = ['U', 'C', 'P', 'C']
-check = True
-
-for i in range(len(check_list)):
-    if check_list[i] in arr:
-        check = True
-        idx = arr.find(check_list[i])
-        arr = arr[idx + 1:]
-    else:
-        check = False
-        break
-
-if check:
-    print('I love UCPC')
-else:
-    print('I hate UCPC')
\ No newline at end of file
diff --git a/Python_BOJ_2021/15993.py b/Python_BOJ_2021/15993.py
deleted file mode 100644
index 898f196..0000000
--- a/Python_BOJ_2021/15993.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 1, 2, 3 더하기 8
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-odd, even = 0, 1 # 홀수, 짝수
-divisor = 1000000009
-dp = [[0] * 100001 for _ in range(2)]
-
-dp[odd][1] = 1
-dp[odd][2], dp[even][2] = 1, 1
-dp[odd][3], dp[even][3] = 2, 2
-
-for i in range(4, 100001):
-    dp[odd][i] = (dp[even][i - 1] + dp[even][i - 2] + dp[even][i - 3]) % divisor
-    dp[even][i] = (dp[odd][i - 1] + dp[odd][i - 2] + dp[odd][i - 3]) % divisor
-
-for _ in range(int(input())):
-    n = int(input())
-    print(dp[odd][n], dp[even][n])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1600.py b/Python_BOJ_2021/1600.py
deleted file mode 100644
index d6dcfc9..0000000
--- a/Python_BOJ_2021/1600.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# 말이 되고픈 원숭이
-# 27630824	hoijae0194	 1600	맞았습니다!!	51220	5716	Python 3 / 수정	1296
-
-from collections import deque
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-kx, ky = [2, 1, 2, 1, -2, -1, -2, -1], [1, 2, -1, -2, 1, 2, -1, -2]
-
-
-def bfs():
-    global ans
-    queue.append([0, 0, 0, 0])
-    visited[0][0][0] = 0
-    while queue:
-        x, y, k, cnt = queue.popleft()
-
-        if x == h - 1 and y == w - 1:
-            ans = visited[x][y][k]
-            break
-        if k < K:
-            for d in range(8):
-                nx, ny = x + kx[d], y + ky[d]
-                if 0 <= nx < h and 0 <= ny < w:
-                    if not visited[nx][ny][k + 1] and graph[nx][ny] == 0:
-                        visited[nx][ny][k + 1] = cnt + 1
-                        queue.append([nx, ny, k + 1, cnt + 1])
-
-        for d in range(4):
-            nx, ny = x + dx[d], y + dy[d]
-            if 0 <= nx < h and 0 <= ny < w:
-                if not visited[nx][ny][k] and graph[nx][ny] == 0:
-                    visited[nx][ny][k] = cnt + 1
-                    queue.append([nx, ny, k, cnt + 1])
-    return ans
-
-
-K = int(input())
-w, h = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(h)]
-visited = [[[0 for _ in range(K + 1)] for _ in range(w)] for _ in range(h)]
-
-ans = -1
-queue = deque()
-print(bfs())
\ No newline at end of file
diff --git a/Python_BOJ_2021/16120.py b/Python_BOJ_2021/16120.py
deleted file mode 100644
index bdcf696..0000000
--- a/Python_BOJ_2021/16120.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# PPAP
-import sys
-
-s = sys.stdin.readline().rstrip().upper()
-stack = []
-
-for i in range(len(s)):
-    stack.append(s[i])
-    if len(stack) >= 4:
-        if stack[-4:] == ["P", "P", "A", "P"]:
-            for _ in range(4):
-                stack.pop()
-            stack.append('P')
-
-if stack == ["P", "P", "A", "P"] or stack == ['P']:
-    print("PPAP")
-else:
-    print("NP")
\ No newline at end of file
diff --git a/Python_BOJ_2021/16162.py b/Python_BOJ_2021/16162.py
deleted file mode 100644
index dae6e94..0000000
--- a/Python_BOJ_2021/16162.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 가희와 3단 고음
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, a, d = map(int, input().split())
-arr = list(map(int, input().split()))
-ans, now = 0, a
-
-for i in range(n):
-    if arr[i] == now:
-        ans += 1
-        now += d
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16171.py b/Python_BOJ_2021/16171.py
deleted file mode 100644
index 939770a..0000000
--- a/Python_BOJ_2021/16171.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 나는 친구가 적다 (Small)
-
-s = input()
-k = input()
-
-ss = ''
-for i in range(len(s)):
-    if s[i].isdigit():
-        continue
-    else:
-        ss += s[i]
-
-if k in ss:
-    print(1)
-else:
-    print(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16189.py b/Python_BOJ_2021/16189.py
deleted file mode 100644
index bca7c77..0000000
--- a/Python_BOJ_2021/16189.py
+++ /dev/null
@@ -1 +0,0 @@
-t = input();print('YNEOS'[t!= t[::-1]::2])
\ No newline at end of file
diff --git a/Python_BOJ_2021/16208.py b/Python_BOJ_2021/16208.py
deleted file mode 100644
index 8d073ee..0000000
--- a/Python_BOJ_2021/16208.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 귀찮음
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-arr.sort(reverse=True)
-ans = 0
-
-for i in range(n-1):
-    a = arr.pop(len(arr)-1)
-    if len(arr) == 0:
-        break
-    ans += sum(arr) * a
-
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16234.py b/Python_BOJ_2021/16234.py
deleted file mode 100644
index 60df980..0000000
--- a/Python_BOJ_2021/16234.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# 인구 이동
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, l, r = map(int, input().split())
-A = [list(map(int, input().split())) for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(i, j):
-    queue = deque()
-    queue.append([i, j])
-
-    tmp = list()
-    tmp.append([i, j])
-
-    while queue:
-        x, y = queue.popleft()
-
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < n:
-                if not visited[nx][ny]:
-                    if l <= abs(A[nx][ny] - A[x][y]) <= r:
-                        visited[nx][ny] = True
-                        queue.append([nx, ny])
-                        tmp.append([nx, ny])
-    return tmp
-
-
-cnt = 0
-while True:
-    flag = False
-    visited = [[False] * n for _ in range(n)]
-    for i in range(n):
-        for j in range(n):
-            if not visited[i][j]:
-                visited[i][j] = True
-                tmp = bfs(i, j)
-                print(tmp)
-
-                if len(tmp) > 1:
-                    flag = True
-                    num = sum([A[x][y] for x, y in tmp]) // len(tmp)
-
-                    for x, y in tmp:
-                        A[x][y] = num
-    if not flag: break
-    cnt += 1
-
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16235.py b/Python_BOJ_2021/16235.py
deleted file mode 100644
index 7fcd365..0000000
--- a/Python_BOJ_2021/16235.py
+++ /dev/null
@@ -1,68 +0,0 @@
-# 나무 재테크
-import sys
-inpud = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0, -1, -1, 1, 1], [0, 0, -1, 1, -1, 1, 1, -1]
-
-n, m, k = map(int, input().split()) # 그래프 크기, 나무 갯수, k년후
-arr = [list(map(int, input().split())) for _ in range(n)]
-tree = [[[] for _ in range(n)] for _ in range(n)]
-
-for _ in range(m):
-    x, y, z = map(int, input().split()) # x, y, 나무의 나이
-    tree[x - 1][y - 1].append(z)
-
-graph = [[5 for _ in range(n)] for _ in range(n)] # 그래프를 초기화 시켜줌
-
-for _ in range(k):
-    # 봄
-    for i in range(n):
-        for j in range(n):
-            if len(tree[i][j]) <= 0: continue # 나무가 없는 tree 배열은 스킵
-            tree[i][j].sort() # 어린 나무 우선으로 양분을 먹기에 오름차순 정렬해줌
-
-            idx = 0
-
-            while idx < len(tree[i][j]):
-                if tree[i][j][idx] <= graph[i][j]: # 토양의 양분을 먹을 수 있다면
-                    graph[i][j] -= tree[i][j][idx] # 쪽쪽
-                    tree[i][j][idx] += 1 # 나이 1살+
-                    idx += 1
-                # 여름
-                else: # 토양의 양분을 먹을 수 없다면
-                    die = tree[i][j][idx:]
-                    # 그 나무 뒤에있는 모든 나무들 또한 양분을 못 먹어서 죽으니까
-                    for now in die: # 죽어서 양분됨
-                        graph[i][j] += (now // 2) # 냠냠
-                    tree[i][j] = tree[i][j][:idx] # 양분을 먹을 수 있는 나무만 남음
-                    break
-
-
-    # 가을
-    for i in range(n):
-        for j in range(n):
-            child = 0
-
-            if tree[i][j]:
-                for age in tree[i][j]:
-                    if age % 5 == 0: # 나무의 나이가 5의 배수라면
-                        child += 1 # 애 하나 증가
-
-            if child > 0: # 애가 하나라도 있다면
-                for k in range(8): # 팔방에 씨뿌리기
-                    nx, ny = i + dx[k], j + dy[k]
-                    if 0 <= nx < n and 0 <= ny < n: # 그래프 범위내에서
-                        for _ in range(child):
-                            tree[nx][ny].append(1) # 씨를 뿌려줍니다
-
-    # 겨울
-    for i in range(n):
-        for j in range(n):
-            graph[i][j] += arr[i][j] # 양분 보충
-
-ans = 0
-for i in range(n):
-    for j in range(n):
-        ans += len(tree[i][j]) # tree 그래프에 있는 나무 갯수 출력
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16236.py b/Python_BOJ_2021/16236.py
deleted file mode 100644
index a46996a..0000000
--- a/Python_BOJ_2021/16236.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# 아기 상어
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(x, y):
-    global cnt, shark_size, start_point, answer
-
-    queue = deque()
-    queue.append([x, y])
-
-    visited = [[False] * n for _ in range(n)]
-    visited[x][y] = True
-
-    food = []
-    state = False
-    level = 0
-
-    while queue:
-        level += 1
-
-        for _ in range(len(queue)):
-            x, y = queue.popleft()
-
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-
-                if 0 <= nx < n and 0 <= ny < n and not visited[nx][ny]:
-                    visited[nx][ny] = True
-
-                    if graph[nx][ny] == 0 or graph[nx][ny] == shark_size:
-                        queue.append([nx, ny])
-                    elif 0 < graph[nx][ny] < shark_size:
-                        food.append([nx, ny])
-                        state = True
-
-        if state: break
-
-    if state:
-        food.sort(key=lambda x: [x[0], x[1]])
-
-        graph[food[0][0]][food[0][1]] = 9
-        graph[start_point[0]][start_point[1]] = 0
-        start_point = food[0]
-
-        cnt += 1
-        answer += level
-
-        if cnt == shark_size:
-            shark_size += 1
-            cnt = 0
-    else: pass
-    return state
-
-
-n = int(input())
-graph = list()
-
-cnt, shark_size, start_point, answer = 0, 2, 0, 0
-
-for i in range(n):
-    data = list(map(int, input().split()))
-    graph.append(data)
-
-    for j, e in enumerate(data):
-        if e == 9:
-            start_point = [i, j]
-
-while True:
-    condition = bfs(start_point[0], start_point[1])
-    if not condition: break
-
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1629.py b/Python_BOJ_2021/1629.py
deleted file mode 100644
index bcbdb85..0000000
--- a/Python_BOJ_2021/1629.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import sys
-a, b, c = map(int, sys.stdin.readline().rstrip().split())
-
-
-def pow(a, b, c):
-    if b == 1:
-        return a % c
-    val = pow(a, b//2, c)
-    val = val * val % c
-    if b % 2 == 0:
-        return val
-    return val * a % c
-
-
-print(pow(a, b, c))
-
diff --git a/Python_BOJ_2021/16435.py b/Python_BOJ_2021/16435.py
deleted file mode 100644
index 8818c1a..0000000
--- a/Python_BOJ_2021/16435.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 스네이크버드
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, l = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort()
-
-for i in range(n):
-    if arr[i] <= l:
-        l += 1
-
-print(l)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16455.py b/Python_BOJ_2021/16455.py
deleted file mode 100644
index 5621c51..0000000
--- a/Python_BOJ_2021/16455.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# import heapq
-# def kth(a, k):
-#     heap = []
-#     for i in a:
-#         heapq.heappush(heap, i)
-#
-#     cnt = 0
-#     ans = 0
-#     while cnt < k:
-#         ans = heapq.heappop(heap)
-#         cnt += 1
-#     return ans
-
-def kth(a, k):
-    target = k - 1
-    start = 0
-    end = len(a) - 1
-
-    while True:
-        i, j = start, end
-
-        while True:
-            while i <= end and a[i] <= a[start]:
-                i += 1
-            while a[j] > a[start]:
-                j -= 1
-            if i >= j: break
-            a[i], a[j] = a[j], a[i]
-        a[start], a[j] = a[j], a[start]
-        if j == target:
-            return a[j]
-        elif j < target:
-            start = j + 1
-        else:
-            end = j - 1
-
-
-
-arr = [3,1,4,5,2]
-print(kth(arr, 2))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1652.py b/Python_BOJ_2021/1652.py
deleted file mode 100644
index 1a0bb12..0000000
--- a/Python_BOJ_2021/1652.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# 누울 자리를 찾아라
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-arr2 = [list(input()) for _ in range(n)]
-row_ans, col_ans = 0, 0
-
-
-def find_row(arr):
-    cnt, row_cnt = 0, 0
-
-    for i in arr:
-        if i == '.':
-            cnt += 1
-        else:
-            if cnt >= 2:
-                row_cnt += 1
-                cnt = 0
-            else:
-                cnt = 0
-
-    if cnt >= 2:
-        return row_cnt + 1
-    else:
-        return row_cnt
-
-
-def find_col(arr):
-    col_cnt = 0
-    for i in range(len(arr)):
-        cnt = 0
-        for j in range(len(arr)):
-            if arr[j][i] == '.':
-                cnt += 1
-            else:
-                if cnt >= 2:
-                    col_cnt += 1
-                    cnt = 0
-                else:
-                    cnt = 0
-
-        if cnt >= 2:
-            col_cnt += 1
-    return col_cnt
-
-
-for i in range(n):
-    row_ans += find_row(arr2[i])
-col_ans = find_col(arr2)
-
-print(row_ans, col_ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1654.py b/Python_BOJ_2021/1654.py
deleted file mode 100644
index 7073fcf..0000000
--- a/Python_BOJ_2021/1654.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 랜선 자르기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-k, n = map(int, input().split())
-arr = [int(input()) for _ in range(k)]
-
-start = 1
-end = max(arr)
-
-while start <= end:
-    cnt = 0
-    mid = (start + end) // 2
-    for x in arr:
-        cnt += x // mid
-
-    if cnt >= n:
-        start = mid + 1
-        ans = mid
-    else:
-        end = mid -1
-
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1655.py b/Python_BOJ_2021/1655.py
deleted file mode 100644
index f9e8efd..0000000
--- a/Python_BOJ_2021/1655.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 가운데를 말해요
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-min, max = [], []
-for _ in range(int(input())):
-    a = int(input())
-    if len(max) == len(min):
-        heapq.heappush(max, (-a, a))
-    else:
-        heapq.heappush(min, (a, a))
-
-    if len(max) >= 1 and len(min) >= 1 and max[0][1] > min[0][1]:
-        max_val, min_val = heapq.heappop(max)[1], heapq.heappop(min)[1]
-        heapq.heappush(max, (-max_val, max_val))
-        heapq.heappush(min, (min_val, min_val))
-    print(max[0][1])
-
-# arr, tmp = [], []
-# for _ in range(int(input())):
-#     a = int(input())
-#     heapq.heappush(arr, a) # 힙으로 저장
-#
-#     if len(arr) == 1: # 1개면 중간값은 자기 자신
-#         print(arr[0])
-#     else:
-#         while len(arr):
-#             tmp.append(heapq.heappop(arr))
-#
-#         for i in tmp:
-#             arr.append(i)
-#         tmp = []
-#
-#         if len(arr) % 2 != 0:
-#             print(arr[len(arr) // 2])
-#         else:
-#             print(arr[(len(arr) // 2) - 1])
diff --git a/Python_BOJ_2021/1662.py b/Python_BOJ_2021/1662.py
deleted file mode 100644
index 0fb85bf..0000000
--- a/Python_BOJ_2021/1662.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 압축
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-s = input()
-stack = []
-
-for i in range(len(s)):
-    if i < len(s) - 1 and s[i + 1] == '(':
-        stack.append(s[i])
-    elif s[i] == '(':
-        stack.append('(')
-    elif s[i] == ')':
-        cnt = 0
-        while True:
-            tmp = stack.pop()
-            if tmp == '(': break
-            cnt += tmp
-        stack.append(int(stack.pop()) * cnt)
-    else:
-        stack.append(1)
-
-print(sum(stack))
\ No newline at end of file
diff --git a/Python_BOJ_2021/16637.py b/Python_BOJ_2021/16637.py
deleted file mode 100644
index c134f6a..0000000
--- a/Python_BOJ_2021/16637.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 괄호 추가하기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-num, op = list(), list()
-ans = -123456789
-
-
-def dfs(idx, sub_tot):
-    global ans
-    if idx == len(op):
-        ans = max(ans, int(sub_tot))
-        return
-
-    first = str(eval(sub_tot + op[idx] + num[idx+ 1])) # (3+8)*7-9*2
-    dfs(idx + 1, first)
-
-    if idx + 1 < len(op):
-        second = str(eval(num[idx + 1] + op[idx + 1] + num[idx + 2])) # 3+(8*7)-9*2
-        second = str(eval(sub_tot + op[idx] + second))
-        dfs(idx + 2, second)
-
-
-for e in input():
-    num.append(e) if e.isdigit() else op.append(e)
-
-dfs(0, num[0])
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16918.py b/Python_BOJ_2021/16918.py
deleted file mode 100644
index 1065929..0000000
--- a/Python_BOJ_2021/16918.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# 봄버맨
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def findBomb():
-    for i in range(r):
-        for j in range(c):
-            if graph[i][j] == 'O': # 폭탄의 위치를 확인
-                bombList.append((i, j))
-
-
-# 3단계 : 모든 칸에 폭탄을 설치한다.
-def allBombSet():
-    for i in range(r):
-        for j in range(c):
-            if graph[i][j] != 'O':
-                graph[i][j] = 'O'
-
-
-# 4단계 : 폭탄이 터진다.
-def bomb():
-    while bombList:
-        x, y = bombList.popleft()
-        graph[x][y] = '.'
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < r and 0 <= ny < c:
-                if graph[nx][ny] == 'O':
-                    graph[nx][ny] = '.'
-
-
-r, c, n = map(int, input().split())
-graph = [list(input()) for _ in range(r)] # 1단계 : 폭탄을 설치
-n -= 1 # 2단계 : 아무것도 하지않고 시간만 감
-while n:
-    bombList = deque()
-    findBomb()
-    allBombSet()
-    n -= 1
-    if n == 0:
-        break
-    bomb()
-    n -= 1
-
-for i in range(r):
-    for j in range(c):
-        print(graph[i][j], end='')
-    print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/16953.py b/Python_BOJ_2021/16953.py
deleted file mode 100644
index f04a977..0000000
--- a/Python_BOJ_2021/16953.py
+++ /dev/null
@@ -1,21 +0,0 @@
-a, b = map(int, input().split())
-ans = 0
-while True:
-    if a == b:
-        ans += 1
-        break
-
-    if b < a:
-        ans = -1
-        break
-
-    if b % 10 == 1:
-        b = b // 10
-    elif b % 2 == 0:
-        b = b // 2
-    else:
-        ans = -1
-        break
-
-    ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/16956.py b/Python_BOJ_2021/16956.py
deleted file mode 100644
index c55f9c3..0000000
--- a/Python_BOJ_2021/16956.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 늑대와 양
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-r, c = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(r)]
-flag = True
-
-
-def make_fense():
-    global flag
-    for i in range(r):
-        for j in range(c):
-            if graph[i][j] == 'W':
-                for dir in range(4):
-                    nx, ny = i + dx[dir], j + dy[dir]
-                    if 0 <= nx < r and 0 <= ny < c:
-                        if graph[nx][ny] == '.':
-                            graph[nx][ny] = 'D'
-                        elif graph[nx][ny] == 'S':
-                            flag = False
-
-
-make_fense()
-if not flag:
-    print(0)
-else:
-    print(1)
-    for i in range(r):
-        for j in range(c):
-            print(graph[i][j], end='')
-        print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/16964.py b/Python_BOJ_2021/16964.py
deleted file mode 100644
index e10e5c9..0000000
--- a/Python_BOJ_2021/16964.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# DFS 스페셜 저지
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-sys.setrecursionlimit(1000001)
-
-n = int(input())
-graph = [[] for _ in range(n + 1)]
-visited = [False] * (n + 1)
-
-for _ in range(n - 1):
-    s, e = map(int, input().split())
-    graph[s].append(e)
-    graph[e].append(s)
-ans = list(map(int, input().split()))
-level = [False] * (n + 1)
-tsize = [0] * (n + 1)
-
-
-def dfs(n, lv):
-    if visited[n]: return 0
-    visited[n] = True
-    size = 1
-    level[n] = lv
-    for i in range(len(graph[n])):
-        next = graph[n][i]
-        size += dfs(next, lv + 1)
-    tsize[n] = size
-    return size
-
-if ans[0] != 1:
-    print("0")
-    sys.exit(0)
-else:
-    dfs(1, 0)
-    for i in range(1, n):
-        x = ans[i]
-        if tsize[x] == 1 or i + tsize[x] >= n:
-            continue
-        next = ans[i + tsize[x]]
-        if level[next] > level[x]:
-            print(0)
-            sys.exit(0)
-    print(1)
diff --git a/Python_BOJ_2021/1697.py b/Python_BOJ_2021/1697.py
deleted file mode 100644
index 329b165..0000000
--- a/Python_BOJ_2021/1697.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 숨바꼭질
-from collections import deque
-import sys
-
-n , k = map(int, sys.stdin.readline().rstrip().split())
-visited = [0] * 100001
-
-
-def bfs(n, k, visited):
-    queue = deque()
-    queue.append(n)
-
-    while queue:
-        nowPosition = queue.popleft()
-        if nowPosition == k:
-            print(visited[nowPosition])
-            break
-
-        arr = [nowPosition - 1, nowPosition + 1, nowPosition * 2]
-
-        for newPosition in arr:
-            if 0 <= newPosition <= 100000 and visited[newPosition] == 0:
-                visited[newPosition] = visited[nowPosition] + 1
-                queue.append(newPosition)
-
-
-bfs(n, k, visited)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1700.py b/Python_BOJ_2021/1700.py
deleted file mode 100644
index 5c8bb3a..0000000
--- a/Python_BOJ_2021/1700.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 멀티탭 스케줄링
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N, K = map(int, input().split())
-cmd = list(map(int, input().split()))
-queue = [[] for _ in range(101)]
-
-for idx, val in enumerate(cmd):
-    queue[val].append(idx)
-
-plug = {}
-ans = 0
-
-for idx, val in enumerate(cmd):
-    if len(plug) < N:
-        plug[val] = 1
-    elif val in plug:
-        pass
-    else:
-        del_idx = idx
-        del_val = 101
-
-        for check in plug:
-            for check_idx in queue[check]:
-                if check_idx > idx:
-                    if del_idx < check_idx:
-                        del_idx, del_val = check_idx, check
-                    break
-            else:
-                del_val = check
-                break
-
-        del plug[del_val]
-        plug[val] = 1
-        ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1707.py b/Python_BOJ_2021/1707.py
deleted file mode 100644
index a266452..0000000
--- a/Python_BOJ_2021/1707.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 이분 그래프
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def bfs(v, visited, color):
-    queue = deque([v])
-    visited[v] = True
-    color[v] = 1
-
-    while queue:
-        now = queue.popleft()
-
-        for nxt in graph[now]:
-            if not visited[nxt]:
-                queue.append(nxt)
-                color[nxt] = 3 - color[now]
-                visited[nxt] = True
-            else:
-                if color[now] == color[nxt]:
-                    return False
-    return True
-
-
-for _ in range(int(input())):
-    v, e = map(int, input().split())
-    graph = [[] for _ in range(v + 1)]
-    visited = [False for _ in range(v + 1)]
-    color = [0 for _ in range(v + 1)]
-    flag = True
-    for i in range(e):
-        x, y = map(int, input().split())
-        graph[x].append(y)
-        graph[y].append(x)
-
-    for node in range(1, v + 1):
-        if not visited[node]:
-            if not bfs(node, visited, color):
-                flag = False
-                break
-
-    if not flag: print("NO")
-    else: print("YES")
\ No newline at end of file
diff --git a/Python_BOJ_2021/17070.py b/Python_BOJ_2021/17070.py
deleted file mode 100644
index f89c0ff..0000000
--- a/Python_BOJ_2021/17070.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 파이프 옮기기 1
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def dfs(pos):
-    global cnt
-    x, y, z = pos # x, y좌표 , 방향
-
-    # 0 : ㅡ
-    # 1 : ㅣ
-    # 2 : \
-
-    if x == n - 1 and y == n - 1: # 기저 조건
-        cnt += 1
-        return
-
-    if x + 1 < n and y + 1 < n:
-        if graph[x + 1][y + 1] == 0 and graph[x][y + 1] == 0 and graph[x + 1][y] == 0: # 이동할 수 있으면
-            dfs((x + 1, y + 1, 2))
-
-    if z == 0 or z == 2:
-        if y + 1 < n:
-            if graph[x][y + 1] == 0:
-                dfs((x, y + 1, 0))
-
-    if z == 1 or z == 2:
-        if x + 1 < n:
-            if graph[x + 1][y] == 0:
-                dfs((x + 1, y, 1))
-
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-cnt = 0
-dfs((0, 1, 0)) # 방향은 ㅡ 로 시작
-print(cnt)
diff --git a/Python_BOJ_2021/17086.py b/Python_BOJ_2021/17086.py
deleted file mode 100644
index 57c1ef3..0000000
--- a/Python_BOJ_2021/17086.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 아기 상어2
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0, 1, 1, -1, -1], [0, 0, -1, 1, -1, 1, -1, 1]
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-shark = deque()
-
-
-def bfs():
-    while shark:
-        x, y = shark.popleft()
-        for i in range(8):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == 0:
-                    shark.append((nx, ny))
-                    graph[nx][ny] = graph[x][y] + 1
-
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 1:
-            shark.append((i, j))
-
-bfs()
-max_length = -123456789
-for i in range(n):
-    for j in range(m):
-        max_length = max(max_length, graph[i][j])
-
-print(max_length - 1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1712.py b/Python_BOJ_2021/1712.py
deleted file mode 100644
index d1bd4ee..0000000
--- a/Python_BOJ_2021/1712.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 손익분기점
-a, b, c = map(int,input().split())
-
-if b == c or b > c:
-    print(-1)
-else:
-    print(int(a/(c-b)+1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/17140.py b/Python_BOJ_2021/17140.py
deleted file mode 100644
index b06a0eb..0000000
--- a/Python_BOJ_2021/17140.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# 이차원 배열과 연산  나중에 다시 풀어본다..
-from collections import Counter
-r, c, k = map(int, input().split())
-arr = [list(map(int, input().split())) for _ in range(3)]
-
-r -= 1
-c -= 1
-time = 0
-
-while time <= 100:
-    if r < len(arr) and c < len(arr[0]) and arr[r][c] == k:
-        print(time)
-        break
-
-    flag = False
-    if len(arr) < len(arr[0]):
-        flag = True
-        arr = list(zip(*arr))
-
-    max_rowlen = 0
-    tmp_arr = list()
-
-    for now_row in arr:
-        cnt = Counter(now_row)
-        if cnt.get(0):
-            del cnt[0]
-        num_cnt = list(map(list, cnt.items()))
-        num_cnt.sort(key = lambda x:(x[1], x[0]))
-        tmp_arr.append(list(sum(num_cnt, []))[:100])
-        max_rowlen = max(max_rowlen, len(tmp_arr[-1]))
-
-    for i in range(len(tmp_arr)):
-        if (len(tmp_arr)) < max_rowlen:
-            tmp_arr[i] += [0] * (max_rowlen - len(tmp_arr[i]))
-
-    arr = tmp_arr
-
-    if flag:
-        arr = list(zip(*arr))
-    time += 1
-
-if time > 100:
-    print(-1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/17142.py b/Python_BOJ_2021/17142.py
deleted file mode 100644
index b1aeaee..0000000
--- a/Python_BOJ_2021/17142.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# 연구소3
-from collections import deque
-from itertools import combinations
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-dx, dy = [-1, 1, 0, 0], [0 , 0, -1, 1]
-
-time = INF
-
-
-def bfs(virus, min_time, leftArea):
-    global time
-    queue = deque(virus)
-    time_val = 0
-    visited = [[False] * n for _ in range(n)]
-    for x, y in virus:
-        visited[x][y] = True
-
-    while queue:
-        if not leftArea:
-            break
-        time_val += 1
-        if time_val >= min_time:
-            return INF
-
-        for _ in range(len(queue)):
-            x, y = queue.popleft()
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-                if 0 <= nx < n and 0 <= ny < n:
-                    if graph[nx][ny] != 1 and not visited[nx][ny]:
-                        visited[nx][ny] = True
-                        queue.append((nx, ny))
-                        if graph[nx][ny] == 0:  leftArea -= 1
-
-    if not leftArea:
-        return time_val
-    else:
-        return INF
-
-
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-virusList = list()
-
-left = 0
-# 바이러스가 있으면 위치 저장 및 빈 공간 체크
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 2:
-            virusList.append([i, j])
-        if graph[i][j] == 0:
-            left += 1
-
-# 바이러스 N개 중 m개를 선택 NCm
-for virusPosition in combinations(virusList, m):
-    time = min(time, bfs(virusPosition, time, left))
-
-# 이동 못 할 경우 -1 출력, 만약 도착 했으면 값을 출력
-if time == INF:
-    print(-1)
-else:
-    print(time)
diff --git a/Python_BOJ_2021/17143.py b/Python_BOJ_2021/17143.py
deleted file mode 100644
index afd2816..0000000
--- a/Python_BOJ_2021/17143.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# 낚시왕
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-dx, dy = [-1, 1, 0, 0], [0, 0, 1, -1] # 상,하,우,좌
-
-
-def sharkMove():
-    tmp = [[0] * C for _ in range(R)] # tmp에 새로 저장을 해줘서 return 해줄것이다.
-
-    for i in range(R):
-        for j in range(C):
-            if graph[i][j] != 0: # 상어가 있으면
-                x, y, s, d, z = i, j, graph[i][j][0], graph[i][j][1], graph[i][j][2]
-
-                while s > 0: # 속도만큼 이동해야 하므로 while 을 써서 한칸씩 dx, dy 이동
-                    x += dx[d]
-                    y += dy[d]
-                    if 0 <= x < R and 0 <= y < C:
-                        s -= 1 # 기저 조건 만들어 주려고 s -= 1해줌
-                    else: # 지도 밖으로 나가면 방향 전환을 해줘야 됨
-                        x -= dx[d] # 빠꾸
-                        y -= dy[d]
-
-                        if d == 0: d = 1 # 방향도 뒤집어 줘야됨 상 > 하
-                        elif d == 1: d = 0 # 하 > 상
-                        elif d == 2: d = 3 # 우 > 좌
-                        elif d == 3: d = 2 # 좌 > 우
-
-                if tmp[x][y] == 0: # 새로 이동한 맵에다
-                    tmp[x][y] = [graph[i][j][0], d, z] # 상어 정보 정리
-                else: # 상어가 있으면
-                    if tmp[x][y][2] < z: # 사이즈 비교후 큰것을
-                        tmp[x][y] = [graph[i][j][0], d, z] # 위치 시킴
-    return tmp # 이렇게 새로 짠 그래프를 보냄
-
-
-R, C, m = map(int, input().split()) # 격자판 크기, 상어의 수
-graph = [[0] * C for _ in range(R)]
-
-for _ in range(m):
-    r, c, s, d, z = map(int, input().split())
-    graph[r - 1][c - 1] = [s, d - 1, z] #속력, 방향, 크기 저장
-
-ans = 0
-for i in range(C):
-    for j in range(R):
-        if graph[j][i] != 0: # 가장 가까이에 있는 상어를 일단 잡음
-            ans += graph[j][i][2]
-            graph[j][i] = 0 # 잡고 지도에서 지워주기
-            break
-    graph = sharkMove()
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/17144.py b/Python_BOJ_2021/17144.py
deleted file mode 100644
index 19af524..0000000
--- a/Python_BOJ_2021/17144.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# 미세먼지 안녕!
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-r, c, t = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(r)]
-purifier = -1
-
-for i in range(r):
-    for j in range(c):
-        if purifier == -1 and graph[i][j] == -1:
-            purifier = i
-queue = deque()
-
-
-def findDust():
-    for i in range(r):
-        for j in range(c):
-            if graph[i][j] == -1 or graph[i][j] == 0: continue
-            queue.append([i, j, graph[i][j]])
-
-
-def spreadDust():
-    while queue:
-        x, y, dustSum = queue.popleft()
-        if dustSum < 5: continue
-        amountOfDust = dustSum // 5
-        howManySpreadCnt = 0
-
-        for d in range(4):
-            nx, ny = x + dx[d], y + dy[d]
-
-            if 0 <= nx < r and 0 <= ny < c:
-                if graph[nx][ny] == -1: continue
-                graph[nx][ny] += amountOfDust
-                howManySpreadCnt += 1
-        graph[x][y] -= amountOfDust * howManySpreadCnt
-
-
-def runningPurifier():
-    top, bottom = purifier, purifier + 1
-
-    for i in range(top - 1, 0, -1):
-        graph[i][0] = graph[i - 1][0]
-    for i in range(c - 1):
-        graph[0][i] = graph[0][i + 1]
-    for i in range(top):
-        graph[i][c - 1] = graph[i + 1][c - 1]
-    for i in range(c - 1, 1, -1):
-        graph[top][i] = graph[top][i - 1]
-    graph[top][1] = 0
-
-    for i in range(bottom + 1, r - 1):
-        graph[i][0] = graph[i + 1][0]
-    for i in range(c - 1):
-        graph[r - 1][i] = graph[r - 1][i + 1]
-    for i in range(r - 1, bottom, -1):
-        graph[i][c - 1] = graph[i - 1][c - 1]
-    for i in range(c - 1, 1, -1):
-        graph[bottom][i] = graph[bottom][i - 1]
-    graph[bottom][1] = 0
-
-
-for tc in range(t):
-    findDust()
-    spreadDust()
-    runningPurifier()
-
-answer = 0
-for i in range(r):
-    for j in range(c):
-        if graph[i][j] != -1:
-            answer += graph[i][j]
-
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1715.py b/Python_BOJ_2021/1715.py
deleted file mode 100644
index 34c0836..0000000
--- a/Python_BOJ_2021/1715.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 카드 정렬하기
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-cards = []
-
-n = int(input())
-for _ in range(n):
-    heapq.heappush(cards, int(input()))
-
-if n == 1:
-    print(0)
-else:
-    sum = 0
-    while len(cards) > 1:
-        tmp = heapq.heappop(cards) + heapq.heappop(cards)
-        heapq.heappush(cards, tmp)
-        sum += tmp
-
-    print(sum)
diff --git a/Python_BOJ_2021/1717.py b/Python_BOJ_2021/1717.py
deleted file mode 100644
index 303faa9..0000000
--- a/Python_BOJ_2021/1717.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import sys
-sys.setrecursionlimit(1000000)
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-parent = list()
-
-for i in range(n + 1):
-    parent.append(i)
-
-
-def getParent(x):
-    if x == parent[x]:
-        return x
-    else :
-        parent[x] = getParent(parent[x])
-    return parent[x]
-
-
-def Union(a, b):
-    a = getParent(a)
-    b = getParent(b)
-    if a == b: return
-    if a < b: parent[b] = a
-    else: parent[a] = b
-
-
-for i in range(m):
-    a, b, c = map(int, input().split())
-    if a == 0:
-        Union(b, c)
-    else:
-        if getParent(b) == getParent(c):
-            print("YES")
-        else:
-            print("NO")
\ No newline at end of file
diff --git a/Python_BOJ_2021/1717_2.py b/Python_BOJ_2021/1717_2.py
deleted file mode 100644
index d8d9489..0000000
--- a/Python_BOJ_2021/1717_2.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 집합의 표현
-import sys
-sys.setrecursionlimit(100001)
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-parent = [i for i in range(n + 1)]
-
-
-def find(x):
-    if x == parent[x]:
-        return x
-    else:
-        parent[x] = find(parent[x])
-    return parent[x]
-
-
-def union(arr, a, b):
-    a = find(a)
-    b = find(b)
-    if a == b: return
-    if a < b:
-        arr[b] = a
-    else:
-        arr[a] = b
-
-
-for _ in range(m):
-    a, b, c = map(int, input().split())
-    if a == 0:
-        union(parent, b, c)
-    else:
-        if find(b) == find(c):
-            print("YES")
-        else:
-            print("NO")
-
diff --git a/Python_BOJ_2021/1718.py b/Python_BOJ_2021/1718.py
deleted file mode 100644
index 0aef1ec..0000000
--- a/Python_BOJ_2021/1718.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 암호
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-s = list(map(str, input()))
-key = list(map(str, input())) * 100000
-arr = list()
-
-for i in range(len(s)):
-    if s[i] == " ": arr.append(" ")
-    else: arr.append(ord(s[i]) - ord('a') + 1)
-
-for i in range(len(arr)):
-    if arr[i] == " ": continue
-    if int(arr[i]) - int(ord(key[i]) - ord('a') + 1) <= 0:
-        arr[i] = chr(arr[i] + (26 - (ord(key[i]) - ord('a') + 1)) + 96)
-    else:
-        arr[i] = chr(arr[i] - (ord(key[i]) - ord('a') + 1) + 96)
-
-print(''.join(arr))
diff --git a/Python_BOJ_2021/1719.py b/Python_BOJ_2021/1719.py
deleted file mode 100644
index fb967c9..0000000
--- a/Python_BOJ_2021/1719.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 택배
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-n, m = map(int, input().split())
-graph = [[INF] * n for _ in range(n)]
-stopover = [[0] * n for _ in range(n)]
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_ - 1][to_ - 1] = weight
-    graph[to_ - 1][from_ - 1] = weight
-    stopover[from_ - 1][to_ - 1] = to_
-    stopover[to_ - 1][from_ - 1] = from_
-
-for i in range(n):
-    for j in range(n):
-        if i == j:
-            graph[i][j] == 0
-            stopover[i][j] = -1
-
-for k in range(n):
-    for i in range(n):
-        for j in range(n):
-            if graph[i][j] > graph[i][k] + graph[k][j]:
-                graph[i][j] = graph[i][k] + graph[k][j]
-                stopover[i][j] = stopover[i][k]
-
-for i in range(n):
-    for j in range(n):
-        if i == j:
-            print("-", end = ' ')
-        else:
-            print(stopover[i][j], end=' ')
-    print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/17201.py b/Python_BOJ_2021/17201.py
deleted file mode 100644
index 028c1d1..0000000
--- a/Python_BOJ_2021/17201.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 자석 체인
-
-n = int(input())
-arr = input()
-
-cnt = 0
-for i in range(len(arr) - 1):
-    if arr[i] == arr[i + 1]:
-        cnt = 1
-        print("No")
-        exit()
-
-if cnt == 0:
-    print("Yes")
\ No newline at end of file
diff --git a/Python_BOJ_2021/17219.py b/Python_BOJ_2021/17219.py
deleted file mode 100644
index 47db12d..0000000
--- a/Python_BOJ_2021/17219.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 비밀번호 찾기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-arr = dict(input().split() for _ in range(n))
-
-for _ in range(m):
-    site = input()
-    print(arr.get(site))
\ No newline at end of file
diff --git a/Python_BOJ_2021/17249.py b/Python_BOJ_2021/17249.py
deleted file mode 100644
index b57e22f..0000000
--- a/Python_BOJ_2021/17249.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 태보태보 총난타
-import sys
-n = sys.stdin.readline().rstrip()
-l_cnt, r_cnt, start = 0, 0, 0
-
-for i in range(start, len(n)):
-    if n[i] == '@':
-        l_cnt += 1
-    elif n[i] == '0':
-        start = i
-        break
-
-for j in range(start, len(n)):
-    if n[j] == '@':
-        r_cnt += 1
-
-print(f'{l_cnt} {r_cnt}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/17392.py b/Python_BOJ_2021/17392.py
deleted file mode 100644
index 536108f..0000000
--- a/Python_BOJ_2021/17392.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 우울한 방학
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-
-
-def cal_sad(n):
-    sad = 1
-    result = 0
-    while sad <= n:
-        result += sad * sad
-        sad += 1
-    return result
-
-
-sad_sum = m - n - sum(arr)
-sum = sad_sum // (n + 1)
-rest = sad_sum % (n + 1)
-
-print(cal_sad(sum) * (n + 1 - rest) + cal_sad(sum + 1) * rest)
\ No newline at end of file
diff --git a/Python_BOJ_2021/17396.py b/Python_BOJ_2021/17396.py
deleted file mode 100644
index 4262d79..0000000
--- a/Python_BOJ_2021/17396.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 백도어
-from heapq import *
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-
-def dijikstra(start):
-    queue = list()
-    heappush(queue, (0, start))
-    distance[start] = 0
-    while queue:
-        cost, current = heappop(queue)
-        if distance[current] < cost: continue
-        for i in graph[current]:
-            cost2 = cost + i[1]
-            if cost2 < distance[i[0]] and arr[i[0]] == 0:
-                distance[i[0]] = cost2
-                heappush(queue, (cost2, i[0]))
-
-
-INF = 1234567890
-n, m = map(int, input().split())
-graph = [[] * (n + 1) for _ in range(n + 1)]
-distance = [INF] * (n + 1)
-arr = list(map(int, input().split()))
-arr[-1] = 0
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((to_, weight))
-    graph[to_].append((from_, weight))
-
-dijikstra(0)
-
-print(distance[n - 1] if distance[n - 1] != INF else -1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/17413.py b/Python_BOJ_2021/17413.py
deleted file mode 100644
index e603c16..0000000
--- a/Python_BOJ_2021/17413.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 단어 뒤집기2
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-ans = ''
-flag = 0
-word = ''
-for c in input():
-    if c == '<':
-        flag ^= 1
-        ans += word
-        word = '<'
-    elif c == '>':
-        flag ^= 1
-        ans += (word + '>')
-        word = ''
-    elif c == ' ':
-        ans += (word + ' ')
-        word = ''
-    else:
-        if flag:
-            word += c
-        else:
-            word = c + word
-
-if word:
-    ans += word
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1743.py b/Python_BOJ_2021/1743.py
deleted file mode 100644
index 95de342..0000000
--- a/Python_BOJ_2021/1743.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# 음식물 피하기
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m, k = map(int, input().split())
-graph = [['.' for _ in range(m)] for _ in range(n)]
-visited = [[False for _ in range(m)] for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-ans = 0
-
-for _ in range(k):
-    r, c = map(int, input().split())
-    graph[r - 1][c - 1] = '#'
-
-
-def bfs(a, b):
-    queue = deque()
-    queue.append((a, b))
-    visited[a][b] = True
-    cnt = 1
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < m and not visited[nx][ny]:
-                if graph[nx][ny] == '#':
-                    queue.append((nx, ny))
-                    visited[nx][ny] = True
-                    cnt += 1
-    return cnt
-
-
-for x in range(n):
-    for y in range(m):
-        if not visited[x][y] and graph[x][y] == '#':
-            ans = max(ans, bfs(x, y))
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1744.py b/Python_BOJ_2021/1744.py
deleted file mode 100644
index 556709b..0000000
--- a/Python_BOJ_2021/1744.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 수 묶기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [int(input()) for _ in range(n)]
-
-positive = []
-negative = []
-ans = 0
-
-for i in arr:
-    if i <= 0:
-        negative.append(i)
-    elif i == 1:
-        ans += 1
-    elif i > 1:
-        positive.append(i)
-
-negative.sort()
-positive.sort(reverse=True)
-
-
-for i in range(0, len(positive), 2):
-    if i + 1 < len(positive):
-        ans += positive[i] * positive[i+1]
-    else:
-        ans += positive[i]
-
-for i in range(0, len(negative), 2):
-    if i + 1 < len(negative):
-        ans += negative[i] * negative[i+1]
-    else:
-        ans += negative[i]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/17472.py b/Python_BOJ_2021/17472.py
deleted file mode 100644
index e6441c7..0000000
--- a/Python_BOJ_2021/17472.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# 다리 만들기 2
-import sys, math
-from collections import deque, defaultdict
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-
-def bfs(start, graph, continent_num): # 대륙별로 라벨링하기
-    queue = deque()
-    queue.append(start)
-
-    while queue:
-        x, y = queue.popleft()
-        graph[x][y] = continent_num
-
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == 1:
-                    graph[nx][ny] = continent_num
-                    queue.append([nx, ny])
-
-
-def get_distance(graph): # 각 섬별로 최소거리를 구해보자
-    table = defaultdict(lambda : math.inf) # 최소 거리 저장을 위해 딕셔너리 생성, 기본값은 무한대
-    iters = [graph, list(map(list, zip(*graph)))]
-
-    for each_maps in iters:
-        for x in range(len(each_maps)):
-            continent = None
-            checked = set()
-
-            for y in range(1, len(each_maps[0])):
-                if each_maps[x][y] == 0 and each_maps[x][y - 1] != 0: # 섬 > 바다로 바뀌는 순간 섬의 마지막 좌표 기억
-                    continent = y - 1
-
-                if each_maps[x][y] != 0 and continent is not None: # 바다 > 섬으로 바뀌면서 이전에 통과한 섬이 있다면
-                    distance = y - continent - 1 # 이전 섬과 현재 섬 거리 계산
-
-                    if distance >= 2 and each_maps[x][y] not in checked: # 거리가 2이상, 현재 섬이 아직 거리 계산을 안했다면
-
-                        small = min(each_maps[x][continent], each_maps[x][y])
-                        large = max(each_maps[x][continent], each_maps[x][y])
-                        table[(small, large)] = min(table[(small, large)], distance) # 섬과 섬의 거리를 최솟값으로 업데이트 한다.
-
-                    checked.add(each_maps[x][y]) # 현재 섬의 라벨 저장
-    return table
-
-
-def find(x, parent): # 유니온 파인드
-    if x == parent[x]:
-        return x
-    p = find(parent[x], parent)
-    parent[x] = p
-    return p
-
-
-def union(x, y, parent):
-    x = find(x, parent)
-    y = find(y, parent)
-    parent[y] = x
-
-
-def get_min_distance(table, continent):
-    table = sorted(list(table.items()), key = lambda x: x[1]) # 거리 짧은 순서대로 정렬
-    ans = 0
-
-    parent = {i : i for i in range(2, max(continent) + 1)}
-
-    for (x, y), val in table:
-        if find(x, parent) != find(y, parent):
-            union(x, y, parent)
-            ans += val
-        if len(set([find(i, parent) for i in parent])) == 1: # 모든섬이 연결되어 있다면 부모는 1개니까 길이가 1인경우는 모두 연결 되었다는 소리다
-            return ans
-    return -1
-
-
-continent_num = 2 # 대륙 라벨링 섬은 1이므로 2부터 라벨링 시작
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 1:
-            bfs((i, j), graph, continent_num)
-            continent_num += 1
-
-print(get_min_distance(get_distance(graph), set(range(2, continent_num))))
\ No newline at end of file
diff --git a/Python_BOJ_2021/17521.py b/Python_BOJ_2021/17521.py
deleted file mode 100644
index d297385..0000000
--- a/Python_BOJ_2021/17521.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Byte Coin
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, W = map(int, input().split())
-coin_prices = [0] * 20
-
-for i in range(0, n):
-    coin_prices[i] = int(input())
-
-for i in range(n-1):
-    if coin_prices[i] < coin_prices[i+1]:
-        x = W // coin_prices[i] # 바꾼 동전 갯수
-        W = W % coin_prices[i] # 동전을 바꾼 후 남은 잔돈
-        x = coin_prices[i+1] * x # 코인 가격 상승으로 생긴 이득
-        W += x # 현재 잔고
-
-    else:
-        continue
-print(W)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1753.py b/Python_BOJ_2021/1753.py
deleted file mode 100644
index f0a1461..0000000
--- a/Python_BOJ_2021/1753.py
+++ /dev/null
@@ -1,33 +0,0 @@
-from heapq import heappush, heappop
-
-def dijkstra(s):
-    pq = []
-    d = [123456789] * (v + 1)
-    d[s] = 0
-    heappush(pq, (d[s], s))
-    while pq:
-        cur_d, cur_node = heappop(pq)
-        if d[cur_node] < cur_d:
-            continue
-        for dis, next_node in graph[cur_node]:
-            if cur_d + dis < d[next_node]:
-                d[next_node] = cur_d + dis
-                heappush(pq, (d[next_node], next_node))
-    return d
-
-v, e = map(int, input().split())
-k = int(input())
-
-graph = [[] for _ in range(v + 1)]
-visited = [False] * (v + 1)
-
-
-for _ in range(e):
-    from_, to_, weight_ = map(int, input().split())
-    graph[from_].append((to_, weight_))
-
-for i in dijkstra(k)[1:]:
-    if i == 123456789:
-        print("INF")
-    else:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1753_2.py b/Python_BOJ_2021/1753_2.py
deleted file mode 100644
index 75dc19c..0000000
--- a/Python_BOJ_2021/1753_2.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# 최단 경로
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-v, e = map(int, input().split())
-k = int(input())
-d = [int(1e9) for _ in range(v + 1)]
-
-
-def dijikstra(start):
-    pq = []
-    d[start] = 0
-    heapq.heappush(pq, (d[start], start))
-    while pq:
-        current_distance, current_node = heapq.heappop(pq)
-        if d[current_node] < current_distance: continue
-        for next_node, distance in graph[current_node]:
-            if current_distance + distance < d[next_node]:
-                d[next_node] = current_distance + distance
-                heapq.heappush(pq, (d[next_node], next_node))
-
-
-graph = [[] for _ in range(v + 1)]
-for _ in range(e):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((to_, weight))
-
-dijikstra(k)
-
-for i in d[1:]:
-    if i == int(1e9):
-        print('INF')
-    else:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1753_3.py b/Python_BOJ_2021/1753_3.py
deleted file mode 100644
index 2493cd0..0000000
--- a/Python_BOJ_2021/1753_3.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 특정한 최단 경로
-import sys, heapq
-
-v, e = map(int, input().split())
-k = int(input())
-
-graph = [[] for _ in range(v + 1)]
-distance = [int(1e9) for _ in range(v + 1)]
-
-for _ in range(e):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((to_, weight))
-
-
-def dijikstra(node):
-    distance[node] = 0
-    heap = []
-    heapq.heappush(heap, (distance[node], node))
-    while heap:
-        c_dist, c_node = heapq.heappop(heap)
-        if distance[c_node] < c_dist: continue
-        for n_node, n_weight in graph[c_node]:
-            if c_dist + n_weight < distance[n_node]:
-                distance[n_node] = c_dist + n_weight
-                heapq.heappush(heap, (distance[n_node], n_node))
-
-
-dijikstra(k)
-for i in distance[1:]:
-    if i == int(1e9):
-        print("INF")
-    else:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1758.py b/Python_BOJ_2021/1758.py
deleted file mode 100644
index 416182a..0000000
--- a/Python_BOJ_2021/1758.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 알바생 강호
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = sorted([int(input()) for _ in range(n)], reverse=True)
-
-tip = 0
-ans = []
-
-for i in range(n):
-    tip = arr[i] - i
-
-    if tip < 0:
-        tip = 0
-    ans.append(tip)
-
-print(sum(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1759.py b/Python_BOJ_2021/1759.py
deleted file mode 100644
index c7b3f52..0000000
--- a/Python_BOJ_2021/1759.py
+++ /dev/null
@@ -1,40 +0,0 @@
-import sys
-from itertools import combinations
-input = lambda : sys.stdin.readline().rstrip()
-
-mo = ['a','e', 'i', 'o', 'u']
-za = ['b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u' ,'v', 'w', 'x', 'y', 'z']
-
-l, c = map(int, input().split())
-arr = list(input().split())
-arr = sorted(arr)
-tmp = list()
-
-for i in combinations(arr, l):
-    tmp.append(i)
-
-ans = list()
-for i in range(len(tmp)):
-    ans.append(''.join(tmp[i]))
-
-for i in range(len(ans)):
-    cnt = 0
-    for j in range(l):
-        if ans[i][j] in za:
-            cnt += 1
-    if cnt < 2:
-        ans[i] = ' '
-
-for i in range(len(ans)):
-    cnt = 0
-    if ans[i] == ' ': continue
-    for j in range(l):
-        if ans[i][j] in mo:
-            cnt += 1
-    if cnt < 1:
-        ans[i] = ' '
-
-
-for i in range(len(ans)):
-    if ans[i] == ' ': continue
-    print(ans[i])
diff --git a/Python_BOJ_2021/17608.py b/Python_BOJ_2021/17608.py
deleted file mode 100644
index 3d82ed7..0000000
--- a/Python_BOJ_2021/17608.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 막대기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-stack = []
-for _ in range(n):
-    stack.append(int(input()))
-
-kijoon = stack.pop()
-max_height = kijoon # 기둥보다 큰 기둥이 나타날 때 카운트 하기위한 기준
-ans = 1
-
-while stack:
-    if kijoon < stack[-1] and max_height < stack[-1]:
-        max_height = stack[-1]
-        ans += 1
-        stack.pop()
-    else:
-        stack.pop()
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/17619.py b/Python_BOJ_2021/17619.py
deleted file mode 100644
index f86d4ab..0000000
--- a/Python_BOJ_2021/17619.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# 개구리 점프
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-parent = [i for i in range(100001)]
-n, q = map(int, input().split())
-
-arr = [(-1, -1)]
-for i in range(n):
-    s, e, _ = map(int, input().split())
-    arr.append((s, e, i + 1))
-
-arr.sort()
-cmd = [tuple(map(int, input().split())) for _ in range(q)]
-
-
-def find(parent, x):
-    if x == parent[x]:
-        return x
-    else:
-        parent[x] = find(parent, parent[x])
-        return parent[x]
-
-
-def union(parent,x, y):
-    x = find(parent, x)
-    y = find(parent, y)
-    if x < y:
-        parent[y] = x
-    else:
-        parent[x] = y
-
-
-def Solution():
-    cs, ce, _ = arr[1]
-    for i in range(2, len(arr)):
-        ss, ee, _ = arr[i]
-        if ce >= ss:
-            ce = max(ce, ee)
-            union(parent, arr[i - 1][2], arr[i][2])
-        else:
-            cs = ss
-            ce = ee
-
-
-Solution()
-for i, j in cmd:
-    arr[i] = find(parent, i)
-    arr[j] = find(parent, j)
-    print(1) if parent[i] == parent[j] else print(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1764.py b/Python_BOJ_2021/1764.py
deleted file mode 100644
index 7235d3a..0000000
--- a/Python_BOJ_2021/1764.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 듣보잡
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-dut = set([input() for _ in range(n)])
-bo = set([input() for _ in range(m)])
-tmp = dut & bo
-ans = list(tmp)
-ans.sort()
-
-print(len(ans))
-for i in ans: print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1769.py b/Python_BOJ_2021/1769.py
deleted file mode 100644
index 698dd9f..0000000
--- a/Python_BOJ_2021/1769.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 3의 배수
-
-import sys
-
-x = sys.stdin.readline().rstrip()
-cnt = 1
-y = str(sum(int(element) for element in x))
-
-while 1:
-    if len(str(y)) == 1: break
-    cnt += 1
-    y = str(sum(int(element) for element in y))
-
-print(cnt if x != y else 0)
-print("YES" if int(y) % 3 == 0 else "NO")
\ No newline at end of file
diff --git a/Python_BOJ_2021/1783.py b/Python_BOJ_2021/1783.py
deleted file mode 100644
index d771785..0000000
--- a/Python_BOJ_2021/1783.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 병든 나이트
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = list(map(int, input().split()))
-
-if n == 1:
-    print(1)
-elif n == 2:
-    print(min(4, (m+1)//2))
-elif n >= 3:
-    if m <= 6:
-        print(min(4, m))
-    else:
-        print(m-2)
diff --git a/Python_BOJ_2021/17836.py b/Python_BOJ_2021/17836.py
deleted file mode 100644
index 48b1dc9..0000000
--- a/Python_BOJ_2021/17836.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# 공주님을 구해라!
-# 27717850	hoijae0194	 17836	맞았습니다!!	32756	120	Python 3 / 수정	971
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m, t = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-tmp = 123456789
-
-
-def bfs():
-    global tmp
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = 1
-
-    while queue:
-        x, y = queue.popleft()
-        if graph[x][y] == 2:
-            tmp = abs(n - 1 - x) + abs(m - 1 - y) + visited[x][y] - 1
-        if x == n - 1 and y == m - 1:
-            return min(visited[x][y] - 1, tmp)
-
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny]:
-                    if graph[nx][ny] != 1:
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append((nx, ny))
-    return tmp
-
-
-res = bfs()
-print("Fail" if(res > t) else res)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1786.py b/Python_BOJ_2021/1786.py
deleted file mode 100644
index 3cea7f7..0000000
--- a/Python_BOJ_2021/1786.py
+++ /dev/null
@@ -1,46 +0,0 @@
-def getpartialmatch(N):
-    m=len(N)
-    pi=[0 for i in range(m)]
-    begin=1
-    matched=0
-    while begin+matched<m:
-        if N[begin+matched]==N[matched]:
-            matched+=1
-            pi[begin+matched-1]=matched
-        else:
-            if matched==0:
-                begin+=1
-
-            else:
-                begin+=matched-pi[matched-1]
-                matched=pi[matched-1]
-    return pi
-
-
-def KMP(H, N):
-    n=len(H)
-    m=len(N)
-    ret=[]
-    pi=getpartialmatch(N)
-    begin=0
-    matched=0
-    while begin<=n-m:
-        if matched<m and H[begin+matched]==N[matched]:
-            matched+=1
-            if matched==m:
-                ret.append(begin)
-        else:
-            if matched==0:
-                begin+=1
-            else:
-                begin+=matched-pi[matched-1]
-                matched=pi[matched-1]
-    return ret
-
-
-T=str(input())
-P=str(input())
-x=KMP(T, P)
-print(len(x))
-for i in x:
-    print(i+1, end=" ")
diff --git a/Python_BOJ_2021/1786_2.py b/Python_BOJ_2021/1786_2.py
deleted file mode 100644
index d960017..0000000
--- a/Python_BOJ_2021/1786_2.py
+++ /dev/null
@@ -1,27 +0,0 @@
-T = input()
-P = input()
-table = [0 for _ in range(len(P))]
-j = 0;
-
-for i in range(1, len(P)):
-    while j > 0 and P[i] != P[j]:
-        j = table[j - 1]
-    if P[i] == P[j]:
-        j += 1
-        table[i] = j
-
-ans = list()
-
-j = 0
-for i in range(len(T)):
-    while j > 0 and T[i] != P[j]:
-        j = table[j - 1]
-    if T[i] == P[j]:
-        if j == len(P) - 1:
-            ans.append(str(i - len(P) + 1 + 1))
-            j = table[j]
-        else:
-            j += 1
-
-print(len(ans))
-print(' '.join(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1800.py b/Python_BOJ_2021/1800.py
deleted file mode 100644
index 263fc32..0000000
--- a/Python_BOJ_2021/1800.py
+++ /dev/null
@@ -1,71 +0,0 @@
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-
-def dijkstra(s, limit):
-    queue = list()
-    distance = [INF] * (n + 1)
-    heapq.heappush(queue, (0, s))
-    distance[s] = 0
-
-    while queue:
-        cost, curr = heapq.heappop(queue)
-        if distance[curr] < cost: continue
-
-        for i in graph[curr]:
-            if i[0] > limit:
-                if cost + 1 < distance[i[1]]:
-                    distance[i[1]] = cost + 1
-                    heapq.heappush(queue, (cost + 1, i[1]))
-                else:
-                    if cost < distance[i[1]]:
-                        distance[i[1]] = cost
-                        heapq.heappush(queue, (cost, i[1]))
-
-    if distance[n] > k:
-        return False
-    else:
-        return True
-
-
-n, m, k = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((weight, to_))
-    graph[to_].append((weight, from_))
-
-left, right = 0, 1000001
-ans = INF
-
-while left <= right:
-    mid = (left + right) // 2
-    flag = dijkstra(1, mid)
-    if flag:
-        right = mid - 1
-        ans = mid
-    else:
-        left = mid + 1
-
-if ans == INF:
-    print(-1)
-else:
-    print(ans)
-
-
-# [알고리즘]
-#
-# 알고리즘 전체 과정을 대략적으로 말씀드리면 이분 탐색을 통해 케이블 기준 가격을 정한 후
-# 다익스트라를 수행함으로써 1번과 N번 컴퓨터를 이을 수 있는지 판단합니다.
-# 세부적인 과정은 다음과 같습니다.
-
-# 1. 이분 탐색을 수행하기 위해 left, right 값을 0과 1000001로 초기화합니다.
-# 2. left와 right를 통해 mid 값을 구한 후 다익스트라를 수행합니다.
-# 3. 다익스트라 수행은 기존의 다익스트라와 달리 최소 거리를 구하는 것이 아니라
-# 1번과 N번을 연결할 수 있는지 구하는 것이 핵심입니다.
-# 따라서 거리 값은 mid 값을 넘긴 케이블의 수입니다.
-#
-# 4. 위 과정을 left 값이 right 값보다 클 때까지 반복합니다.
-# 5. 최종적으로 구한 결과를 출력합니다.
\ No newline at end of file
diff --git a/Python_BOJ_2021/18115.py b/Python_BOJ_2021/18115.py
deleted file mode 100644
index c3c5f1e..0000000
--- a/Python_BOJ_2021/18115.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 카드 놓기
-from collections import deque
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-cmd = deque(map(int, input().split()))
-res = deque(range(1, n + 1))
-ans = deque()
-
-while cmd:
-    a = cmd.pop()
-    b = res.popleft()
-
-    if a == 1:
-        ans.appendleft(b)
-    elif a == 2:
-        ans.insert(1, b)
-    elif a == 3:
-        ans.append(b)
-
-print(' '.join(map(str, ans)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/18258.py b/Python_BOJ_2021/18258.py
deleted file mode 100644
index f44cf38..0000000
--- a/Python_BOJ_2021/18258.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 큐 2
-from collections import deque
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-queue = deque()
-for _ in range(int(input())):
-    cmd = input().split()
-
-    if cmd[0] == 'push':
-        queue.append(int(cmd[1]))
-    elif cmd[0] == 'pop':
-        if len(queue) == 0: print(-1)
-        else: print(queue.popleft())
-    elif cmd[0] == 'size':
-        print(len(queue))
-    elif cmd[0] == 'empty':
-        if len(queue) == 0: print(1)
-        else: print(0)
-    elif cmd[0] == 'front':
-        if len(queue) == 0: print(-1)
-        else: print(queue[0])
-    elif cmd[0] == 'back':
-        if len(queue) == 0: print(-1)
-        else: print(queue[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/18352.py b/Python_BOJ_2021/18352.py
deleted file mode 100644
index bbb071c..0000000
--- a/Python_BOJ_2021/18352.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 특정 거리의 도시 찾기
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m, k, x = map(int, input().split())
-
-graph = [[] for _ in range(n + 1)]
-visited = [-1] * (n + 1)
-visited[x] = 0
-ans = list()
-
-for _ in range(m):
-    a, b = map(int, input().split())
-    if a == b:
-        continue
-    graph[a].append(b)
-
-queue = deque([x])
-while queue:
-    cur = queue.popleft()
-    for next in graph[cur]:
-        if visited[next] == -1:
-            visited[next] = visited[cur] + 1
-            queue.append(next)
-
-for i in range(n + 1):
-    if visited[i] == k:
-        ans.append(i)
-
-ans = sorted(ans)
-
-if len(ans) == 0:
-    print(-1)
-else:
-    for i in ans:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/18353.py b/Python_BOJ_2021/18353.py
deleted file mode 100644
index dfe110c..0000000
--- a/Python_BOJ_2021/18353.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 병사 배치하기
-from sys import stdin
-
-input = lambda: stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-arr.reverse()
-
-dp = [1] * n
-
-for i in range(1, n):
-    for j in range(0, i):
-        if arr[j] < arr[i]:
-            dp[i] = max(dp[i], dp[j] + 1)
-
-print(n - max(dp))
-
diff --git a/Python_BOJ_2021/18406.py b/Python_BOJ_2021/18406.py
deleted file mode 100644
index b248471..0000000
--- a/Python_BOJ_2021/18406.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 럭키 스트레이트
-import sys
-s = list(str(sys.stdin.readline().rstrip()))
-left, right = 0, 0
-
-for i in range(int(len(s) // 2)):
-    left += int(s[i])
-
-for j in range(int(len(s) // 2), len(s)):
-    right += int(s[j])
-
-if left == right:
-    print("LUCKY")
-else:
-    print("READY")
\ No newline at end of file
diff --git a/Python_BOJ_2021/1863.py b/Python_BOJ_2021/1863.py
deleted file mode 100644
index 0cb6d7f..0000000
--- a/Python_BOJ_2021/1863.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 스카이라인 쉬운거 - 못 품
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [list(map(int, input().split())) for _ in range(n)]
-tmp = [0] * (n+1)
-ans = 0
-
-for i in range(n-1):
-    while len(tmp) != 0 and arr[i][1] > arr[i+1][1]:
-        tmp.pop()
-        ans += 1
-    if len(tmp) != 0 and arr[i][1] > arr[i+1][1]: continue
-    tmp[i] = arr[i][1]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1871.py b/Python_BOJ_2021/1871.py
deleted file mode 100644
index 74be01e..0000000
--- a/Python_BOJ_2021/1871.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 좋은 자동차 번호판
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = list(input().split('-'))
-    ans = 0
-
-    for i in range(3):
-        ans += (ord(s[0][i]) - 65) * 26 ** (2 - i)
-
-    if abs(ans - int(s[1])) <= 100:
-        print('nice')
-    else:
-        print('not nice')
\ No newline at end of file
diff --git a/Python_BOJ_2021/1874.py b/Python_BOJ_2021/1874.py
deleted file mode 100644
index 2eaef08..0000000
--- a/Python_BOJ_2021/1874.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 스택 수열
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-stack = list()
-ans = list()
-cnt = 1
-tmp = True
-
-for _ in range(int(input())):
-    n = int(input())
-
-    while cnt <= n:
-        stack.append(cnt)
-        ans.append('+')
-        cnt += 1
-
-    if stack[-1] == n:
-        stack.pop()
-        ans.append('-')
-    else:
-        tmp = False
-
-if tmp == False:
-    print('NO')
-else:
-    for i in ans:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1904.py b/Python_BOJ_2021/1904.py
deleted file mode 100644
index 95c2fbd..0000000
--- a/Python_BOJ_2021/1904.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 01타일
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-d = [0] * 1000001
-
-d[1] = 1
-d[2] = 2
-
-for i in range(3, n+1):
-    d[i] = (d[i-1]+ d[i-2]) % 15746
-
-print(d[n])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1912.py b/Python_BOJ_2021/1912.py
deleted file mode 100644
index 780bb02..0000000
--- a/Python_BOJ_2021/1912.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 연속합
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-sum = [arr[0]]
-
-for i in range(n-1):
-    sum.append(max(sum[i] + arr[i+1], arr[i+1]))
-print(max(sum))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1916.py b/Python_BOJ_2021/1916.py
deleted file mode 100644
index 45062a7..0000000
--- a/Python_BOJ_2021/1916.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 최소비용 구하기
-# hoijae0194	 1916	맞았습니다!!	42628	320	Python 3 / 수정	834
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-n = int(input()) # 노드
-m = int(input()) # 엣지
-graph = [[] for _ in range(n + 1)]
-distance = [INF] * (n + 1)
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((to_, weight))
-
-start, end = map(int, input().split())
-
-
-def dijkstra(start):
-    queue = list()
-    heapq.heappush(queue, (start, 0))
-    distance[start] = 0
-    while queue:
-        now, cost = heapq.heappop(queue)
-        if distance[now] < cost:
-            continue
-        for now2, cost2 in graph[now]:
-            cost3 = cost + cost2
-            if distance[now2] > cost3:
-                distance[now2] = cost3
-                heapq.heappush(queue, (now2, cost3))
-
-# print(graph)
-dijkstra(start)
-# print(distance)
-print(distance[end])
-
diff --git a/Python_BOJ_2021/1916_2.py b/Python_BOJ_2021/1916_2.py
deleted file mode 100644
index 50f68f6..0000000
--- a/Python_BOJ_2021/1916_2.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 최소비용 구하기
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-m = int(input())
-graph = [[] for _ in range(n + 1)]
-distance = [int(1e9) for _ in range(n + 1)]
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((to_, weight))
-
-start, end = map(int, input().split())
-
-
-def dijikstra(start):
-    heqp = list()
-    heapq.heappush(heqp, (0, start))
-    distance[start] = 0
-    while heqp:
-        c_weight, c_node = heapq.heappop(heqp)
-        if distance[c_node] < c_weight:
-            continue
-        for n_node, n_weight in graph[c_node]:
-            cost = c_weight + n_weight
-            if distance[n_node] > cost:
-                distance[n_node] = cost
-                heapq.heappush(heqp, (cost, n_node))
-
-
-dijikstra(start)
-print(distance[end])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1919.py b/Python_BOJ_2021/1919.py
deleted file mode 100644
index e41287f..0000000
--- a/Python_BOJ_2021/1919.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 애너그램 만들기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-in_a, in_b = list(input()), list(input())
-a = [0 for _ in range(26)]
-b = [0 for _ in range(26)]
-
-ans = 0
-
-for i in range(0, len(in_a)): a[ord(in_a[i]) - 97] += 1
-for i in range(0, len(in_b)): b[ord(in_b[i]) - 97] += 1
-for i in range(26):
-    if a[i] != b[i]: ans += abs(a[i] - b[i])
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1920.py b/Python_BOJ_2021/1920.py
deleted file mode 100644
index d0c2fdc..0000000
--- a/Python_BOJ_2021/1920.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 수 찾기
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def binary_search(arr, target, start, end):
-    while start <= end:
-        mid = (start + end) // 2
-
-        if arr[mid] == target:
-            return mid
-
-        elif arr[mid] > target:
-            end = mid - 1
-
-        else:
-            start = mid + 1
-
-    return None
-
-
-n = int(input())
-arr = list(map(int, input().split()))
-arr.sort()
-m = int(input())
-target = list(map(int, input().split()))
-
-for i in target:
-    ans = binary_search(arr, i, 0, n-1)
-
-    if ans != None:
-        print(1)
-    else:
-        print(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1926.py b/Python_BOJ_2021/1926.py
deleted file mode 100644
index d07b855..0000000
--- a/Python_BOJ_2021/1926.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# 그림
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [[False for _ in range(m)] for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-ans, ans_cnt = 0, 0
-
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = True
-    size = 1
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny] and graph[nx][ny] == 1:
-                    visited[nx][ny] = True
-                    queue.append((nx, ny))
-                    size += 1
-    return size
-
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 1 and not visited[i][j]:
-            ans_cnt += 1
-            ans = max(ans, bfs(i, j))
-
-
-print(ans_cnt)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1927.py b/Python_BOJ_2021/1927.py
deleted file mode 100644
index 2e4c139..0000000
--- a/Python_BOJ_2021/1927.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 최소 힙
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    a = int(input())
-    if a == 0:
-        if len(arr) == 0:
-            print(0)
-        else:
-            print(heapq.heappop(arr))
-    else:
-        heapq.heappush(arr, a)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1929.py b/Python_BOJ_2021/1929.py
deleted file mode 100644
index ed6868c..0000000
--- a/Python_BOJ_2021/1929.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 소수 구하기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-m, n = map(int, input().split())
-
-arr = [0] * (n + 1)
-
-for i in range(2, n+1):
-    if arr[i] == 0:
-        if i >= m: print(i)
-        for j in range(i, n+1, i): # i의 배수로 순환함
-            arr[j] = 1
diff --git a/Python_BOJ_2021/1931.py b/Python_BOJ_2021/1931.py
deleted file mode 100644
index f18b1f7..0000000
--- a/Python_BOJ_2021/1931.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 회의실배정
-import sys
-
-N = int(sys.stdin.readline())
-time_table = []
-
-for _ in range(N):
-    start, end = map(int, sys.stdin.readline().split())
-    time_table.append((start, end))
-
-start_time = 0
-cnt = 0
-
-time_table = sorted(time_table, key= lambda time : time[0])
-time_table = sorted(time_table, key= lambda time : time[1])
-
-
-for time in time_table:
-    if time[0] >= start_time:
-        start_time = time[1]
-        cnt += 1
-
-print(cnt)
diff --git a/Python_BOJ_2021/1931_2.py b/Python_BOJ_2021/1931_2.py
deleted file mode 100644
index 214a47f..0000000
--- a/Python_BOJ_2021/1931_2.py
+++ /dev/null
@@ -1,21 +0,0 @@
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list()
-
-for _ in range(n):
-    start, finish = map(int, input().split())
-    arr.append((start, finish))
-
-arr = sorted(arr, key= lambda time : time[0])
-arr = sorted(arr, key= lambda time : time[1])
-
-cnt = 0
-tmp = -123456789
-
-for i in range(n):
-    if arr[i][0] >= tmp:
-        tmp = arr[i][1]
-        cnt += 1
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1932.py b/Python_BOJ_2021/1932.py
deleted file mode 100644
index 55c7c7c..0000000
--- a/Python_BOJ_2021/1932.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 정수 삼각형
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [list(map(int, input().split())) for _ in range(n)]
-best = [[-1 for _ in range(n)] for _ in range(n)]
-
-ans = 0
-best[0][0] = arr[0][0]
-
-for i in range(1, n):
-    for j in range(0, i+1):
-        best[i][j] = arr[i][j] + max(best[i-1][j-1], best[i-1][j])
-
-print(max(best[n-1]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1935.py b/Python_BOJ_2021/1935.py
deleted file mode 100644
index 0da8983..0000000
--- a/Python_BOJ_2021/1935.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 후위 표기식 2
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-operator = '*+/-'
-
-n = int(input())
-s = input()
-
-num = []
-num_stack = []
-
-for _ in range(n):
-    num.append(int(input()))
-
-for c in s:
-    if c in operator:
-        tmp1 = num_stack.pop()
-        tmp2 = num_stack.pop()
-
-        if c == '*':
-            ans = tmp1 * tmp2
-        elif c == '+':
-            ans = tmp1 + tmp2
-        elif c == '/':
-            ans = tmp2 / tmp1
-        elif c == '-':
-            ans = tmp2 - tmp1
-
-        num_stack.append(ans)
-    else:
-        num_stack.append(num[ord(c) - ord('A')])
-        print(num_stack)
-
-print('%0.2f' %num_stack[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/1937.py b/Python_BOJ_2021/1937.py
deleted file mode 100644
index bac60cb..0000000
--- a/Python_BOJ_2021/1937.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 욕심쟁이 판다
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-dp = [[0 for _ in range(n)] for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y):
-    if dp[x][y]: return dp[x][y]
-    dp[x][y] = 1
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-
-        if 0 <= nx < n and 0 <= ny <n:
-            if graph[nx][ny] > graph[x][y]:
-                dp[x][y] = max(dp[x][y], dfs(nx, ny) + 1)
-    return dp[x][y]
-
-
-ans = 0
-for i in range(n):
-    for j in range(n):
-        ans = max(ans, dfs(i, j))
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1946.py b/Python_BOJ_2021/1946.py
deleted file mode 100644
index 9ca9597..0000000
--- a/Python_BOJ_2021/1946.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 신입 사원
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    arr = []
-    n = int(input())
-
-    for _ in range(n):
-        arr.append(list(map(int, input().split())))
-    arr.sort(key = lambda x : x[0])
-
-    tmp = arr[0][1]
-    ans = 0
-
-    for i in range(1, n):
-        if arr[i][1] > tmp:
-            ans += 1
-        else:
-            tmp = arr[i][1]
-
-    print(n - ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1963.py b/Python_BOJ_2021/1963.py
deleted file mode 100644
index c1f5a35..0000000
--- a/Python_BOJ_2021/1963.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# 소수 경로
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = [1 for _ in range(10000)]
-
-
-def eratosthenes():
-    for i in range(2, 100):
-        if arr[i] == 1:
-            for j in range(i, 10000, i):
-                arr[j] = 0
-
-
-def bfs(x):
-    queue.append(x)
-    visited[x] = 1
-    while queue:
-        x = queue.popleft()
-        if x == y:
-            print(visited[x] - 1)
-            return
-        for i in range(10):
-            if i != 0:
-                nx = (x % 1000) + i * 1000
-                if arr[nx] == 1 and visited[nx] == 0:
-                    visited[nx] = visited[x] + 1
-                    queue.append(nx)
-
-            nx = int(x / 1000) * 1000 + (x % 100) + i * 100
-            if arr[nx] == 1 and visited[nx] == 0:
-                visited[nx] = visited[x] + 1
-                queue.append(nx)
-
-            nx = int(x / 100) * 100 + (x % 10) + i * 10
-            if arr[nx] == 1 and visited[nx] == 0:
-                visited[nx] = visited[x] + 1
-                queue.append(nx)
-
-            nx = int(x / 10) * 10 + i
-            if arr[nx] == 1 and visited[nx] == 0:
-                visited[nx] = visited[x] + 1
-                queue.append(nx)
-
-
-eratosthenes()
-T = int(input())
-for _ in range(T):
-    queue = deque()
-    visited = [0 for _ in range(10000)]
-    x, y = map(int, input().split())
-    bfs(x)
\ No newline at end of file
diff --git a/Python_BOJ_2021/19644.py b/Python_BOJ_2021/19644.py
deleted file mode 100644
index 285911e..0000000
--- a/Python_BOJ_2021/19644.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 좀비 떼가 기관총 진지에도 오다니 안풀려
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-l = int(input())
-ml, mk = map(int, input().split())
-c = int(input())
-
-arr = [0] * l
-for i in range(l):
-    arr[i] = int(input())
-
-while arr:
-    if arr[0] > mk: # 맨 앞에 좀비의 피가 총알 뎀지보다 크면 바로 지뢰를 쓸 수 있는지 봐야함
-        if c >= 1: # 지뢰 갯수가 있다면 사용
-            arr[0] = 0
-            c -= 1
-            arr.pop(0)
-        else: # 지뢰 없으면 바로 게임 종료
-            print("NO")
-            exit(0)
-    else: # 그 외의 경우는 사격 개시
-        if len(arr) >= ml:
-            for i in range(ml):
-                arr[i] -= mk
-        else:
-            for i in range(len(arr)):
-                arr[i] -= mk
-
-        if arr[0] <= 0: # 사격후 좀비의 피가 0이거나 0보다 작으면
-            zombie = arr.pop(0) # popleft
-
-print("YES")
\ No newline at end of file
diff --git a/Python_BOJ_2021/1966.py b/Python_BOJ_2021/1966.py
deleted file mode 100644
index 0eb2816..0000000
--- a/Python_BOJ_2021/1966.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 프린터 큐
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    n, m = map(int, input().split())
-    imp = list(map(int, input().split()))
-    idx = list(range(n))
-    idx[m] = 'tgt'
-    order = 0
-
-    while True:
-        if imp[0] == max(imp):
-            order += 1
-            if idx[0] == 'tgt':
-                print(order)
-                break
-            else:
-                imp.pop(0)
-                idx.pop(0)
-        else:
-            imp.append(imp.pop(0))
-            idx.append(idx.pop(0))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1969.py b/Python_BOJ_2021/1969.py
deleted file mode 100644
index 1a8ab60..0000000
--- a/Python_BOJ_2021/1969.py
+++ /dev/null
@@ -1,30 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-arr = [list(map(str, input())) for _ in range(n)]
-alphabet = [[0] * 26 for _ in range(m)]
-
-
-for i in range(m):
-    for j in range(n):
-        alphabet[i][ord(arr[j][i]) - ord('A')] += 1
-
-s = ''
-for i in range(m):
-    max = -123456789
-    idx = 0
-    for j in range(26):
-        if alphabet[i][j] > max:
-            max = alphabet[i][j]
-            idx = j
-    s += chr(idx + ord('A'))
-
-print(s)
-
-ans = 0
-for i in range(n):
-    for j in range(m):
-        if (s[j] != arr[i][j]):
-            ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1976.py b/Python_BOJ_2021/1976.py
deleted file mode 100644
index 68dfc9b..0000000
--- a/Python_BOJ_2021/1976.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 여행 가자
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-sys.setrecursionlimit(100001)
-
-n = int(input()) # 도시의 수
-m = int(input()) # 여행 계획에 속한 도시들의 수
-
-visited = [0 for _ in range(n)]
-
-network = list()
-for _ in range(n):
-    network.append(list(map(int, input().split())))
-
-travel_city = list(map(int, input().split()))
-
-
-def dfs(start):
-    visited[start] = 1
-    for idx, j in enumerate(network[start]):
-        if j == 1 and visited[idx] == 0:
-            visited[idx] = 1
-            dfs(idx)
-
-
-dfs(travel_city[0] - 1)
-
-if 0 not in visited:
-    print('YES')
-    exit()
-
-for i in travel_city:
-    if visited[i-1] == 0:
-        print('NO')
-        exit()
-print('YES')
\ No newline at end of file
diff --git a/Python_BOJ_2021/1976_2.py b/Python_BOJ_2021/1976_2.py
deleted file mode 100644
index 93138fb..0000000
--- a/Python_BOJ_2021/1976_2.py
+++ /dev/null
@@ -1,28 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-m = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-plan = list(map(int, input().split()))
-visited = [0] * n
-
-
-def dfs(start):
-    visited[start] = 1
-    for idx, j in enumerate(graph[start]):
-        if j == 1 and not visited[idx]:
-            visited[idx] = 1
-            dfs(idx)
-
-
-dfs(plan[0] - 1)
-if 0 not in visited:
-    print("YES")
-    exit(0)
-
-for i in plan:
-    if visited[i - 1] == 0:
-        print("NO")
-        exit(0)
-print("YES")
diff --git a/Python_BOJ_2021/1978.py b/Python_BOJ_2021/1978.py
deleted file mode 100644
index 45b09dc..0000000
--- a/Python_BOJ_2021/1978.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 소수 찾기
-
-N = int(input())
-num = list(map(int, input().split()))
-
-cnt = 0
-count = 0
-
-for i in num:
-    for j in range(1, i+1):
-        if i % j == 0:
-            cnt += 1
-    if cnt == 2:
-        count += 1
-    cnt = 0
-
-print(count)
\ No newline at end of file
diff --git a/Python_BOJ_2021/19813.py b/Python_BOJ_2021/19813.py
deleted file mode 100644
index 5759ae9..0000000
--- a/Python_BOJ_2021/19813.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# Dates
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = input()
-    f = s.find('/') > 0
-    a = [ *map(int, s.replace('.', '/').split('/'))]
-    print('%02d.%02d.%04d %02d/%02d/%04d' %(a[f], a[1-f], a[2], a[1-f], a[f], a[2]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/1987.py b/Python_BOJ_2021/1987.py
deleted file mode 100644
index cfb4243..0000000
--- a/Python_BOJ_2021/1987.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 알파벳 - pypy3로만 해결가능
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-r, c = map(int, input().split())
-graph = [list(map(lambda x: ord(x) - 65, input())) for _ in range(r)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-alpha = [0] * 26
-ans = 0
-
-
-def dfs(x, y, m):
-    global ans
-    ans = max(ans, m)
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-
-        if 0 <= nx < r and 0 <= ny < c and alpha[graph[nx][ny]] == 0:
-            alpha[graph[nx][ny]] = 1
-            dfs(nx, ny, m+1)
-            alpha[graph[nx][ny]] = 0
-
-
-alpha[graph[0][0]] = 1
-dfs(0, 0, 1)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/1991.py b/Python_BOJ_2021/1991.py
deleted file mode 100644
index f7e35a7..0000000
--- a/Python_BOJ_2021/1991.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 트리 순회
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-def preorder(node):
-    if node == '.':
-        return
-    print(node, end='')
-    preorder(tree[node][0])
-    preorder(tree[node][1])
-
-def inorder(node):
-    if node == '.':
-        return
-    inorder(tree[node][0])
-    print(node, end='')
-    inorder(tree[node][1])
-
-def postorder(node):
-    if node == '.':
-        return
-    postorder(tree[node][0])
-    postorder(tree[node][1])
-    print(node, end='')
-
-
-n = int(input())
-tree = {}
-
-for _ in range(n):
-    root, left, right = input().split()
-    tree[root] = (left, right)
-
-preorder('A')
-print()
-inorder('A')
-print()
-postorder('A')
\ No newline at end of file
diff --git a/Python_BOJ_2021/20001.py b/Python_BOJ_2021/20001.py
deleted file mode 100644
index 8c9829e..0000000
--- a/Python_BOJ_2021/20001.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 고무오리 디버깅
-import sys
-arr = []
-
-while True:
-    s = sys.stdin.readline().rstrip()
-    if s == "고무오리 디버깅 끝":
-        if len(arr) == 0:
-            print("고무오리야 사랑해")
-            break
-        else:
-            print("힝구")
-            break
-    elif s == "문제":
-        arr.append(1)
-    elif s == "고무오리":
-        if len(arr) == 0:
-            for _ in range(2):
-                arr.append(1)
-        else:
-            arr.pop()
\ No newline at end of file
diff --git a/Python_BOJ_2021/20007.py b/Python_BOJ_2021/20007.py
deleted file mode 100644
index 0653379..0000000
--- a/Python_BOJ_2021/20007.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# 떡 돌리기  왜 TLE ㅡㅡ
-import sys
-from heapq import *
-input = lambda : sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-n, m, x, y = map(int, input().split())
-graph = [[] for _ in range(n)]
-distance = [INF] * n
-visited = [False] * n
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append([to_, weight])
-    graph[to_].append([from_, weight])
-
-
-def dijikstra(start):
-    queue = list()
-    heappush(queue, (0, start))
-    distance[start] = 0
-
-    while queue:
-        cost, current = heappop(queue)
-
-        if visited[current]: continue
-        for i in graph[current]:
-            cost2 = cost + i[1]
-            if not visited[i[0]] and distance[i[0]] > cost2:
-                distance[i[0]] = cost2
-                heappush(queue, (cost2, i[0]))
-        visited[current] = True
-
-
-def process():
-    dijikstra(y)
-    distance.sort()
-
-    if distance[n - 1] * 2 > x:
-        print(-1)
-
-    day, idx, tmp = 0, 0, 0
-    while idx < n:
-        while idx < n and tmp + (distance[idx] * 2) <= x:
-            tmp += distance[idx] * 2
-            idx += 1
-
-        tmp = 0
-        day += 1
-    return day
-
-
-print(process())
\ No newline at end of file
diff --git a/Python_BOJ_2021/2003.py b/Python_BOJ_2021/2003.py
deleted file mode 100644
index 7ae38e3..0000000
--- a/Python_BOJ_2021/2003.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 수들의 합2
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-
-answer = 0
-start, end = 0, 0
-
-while start <= end <= n:
-    tmp = sum(arr[start:end])
-    if tmp == m:
-        answer += 1
-    if tmp <= m:
-        end += 1
-        continue
-    elif tmp > m and start < end:
-        start += 1
-        continue
-    else:
-        start += 1
-        end += 1
-
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2003_2.py b/Python_BOJ_2021/2003_2.py
deleted file mode 100644
index 9c0dfd2..0000000
--- a/Python_BOJ_2021/2003_2.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 수들의 합 2
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-
-ans, interval_sum, end = 0, 0, 0
-
-for start in range(n):
-    while interval_sum < m and end < n:
-        interval_sum += arr[end]
-        end += 1
-    if interval_sum == m: ans += 1
-    interval_sum -= arr[start]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/20124.py b/Python_BOJ_2021/20124.py
deleted file mode 100644
index 976050e..0000000
--- a/Python_BOJ_2021/20124.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 모르고리즘 회장님 추천 받습니다.
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-max = 0
-ans = ''
-
-for i in range(int(input())):
-    name, score = input().split()
-    if int(score) > max:
-        max = int(score)
-        ans = name
-
-    elif int(score) == max:
-        if name < ans:
-            max = int(score)
-            ans = name
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/20301.py b/Python_BOJ_2021/20301.py
deleted file mode 100644
index 894b6e7..0000000
--- a/Python_BOJ_2021/20301.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 반전 요세푸스
-from collections import deque
-
-N, K, M = map(int, input().split())
-arr = deque(i + 1 for i in range(N))
-
-ans = []
-i = -(K - 1)
-flag = False
-
-while arr:
-    if len(ans) % M == 0 and len(ans) >= M and not flag:
-        flag = True
-        i = K
-    elif len(ans) % M == 0 and len(ans) >= M and flag:
-        flag = False
-        i = -(K - 1)
-    arr.rotate(i)
-    ans.append(arr.popleft())
-
-print("\n".join(map(str, ans)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/20528.py b/Python_BOJ_2021/20528.py
deleted file mode 100644
index cd3d0c8..0000000
--- a/Python_BOJ_2021/20528.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 끝말잇기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-N = int(input())
-data = list(map(str, input().split()))
-arr = set()
-
-for i in range(N):
-    arr.add(data[i][0])
-
-print(1 if len(arr) == 1 else 0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/20540.py b/Python_BOJ_2021/20540.py
deleted file mode 100644
index ce9e2cd..0000000
--- a/Python_BOJ_2021/20540.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 연길이의 이상형
-import sys
-mbti = list(map(str, sys.stdin.readline().rstrip()))
-
-for i in range(4):
-    if mbti[i] == "E":
-        mbti[i] = "I"
-    elif mbti[i] == "I":
-        mbti[i] = "E"
-    elif mbti[i] == "S":
-        mbti[i] = "N"
-    elif mbti[i] == "N":
-        mbti[i] = "S"
-    elif mbti[i] == "T":
-        mbti[i] = "F"
-    elif mbti[i] == "F":
-        mbti[i] = "T"
-    elif mbti[i] == "J":
-        mbti[i] = "P"
-    else:
-        mbti[i] = "J"
-
-print(''.join(mbti))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2075.py b/Python_BOJ_2021/2075.py
deleted file mode 100644
index 662d919..0000000
--- a/Python_BOJ_2021/2075.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# N번째 큰수
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-heap = []
-for _ in range(n):
-    s = list(map(int, input().split()))
-    if len(heap) == 0:
-        for i in s:
-            heapq.heappush(heap, i)
-    else:
-        for i in s:
-            if heap[0] < i:
-                heapq.heappush(heap, i)
-                heapq.heappop(heap)
-
-print(heap[0])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2075_2.py b/Python_BOJ_2021/2075_2.py
deleted file mode 100644
index 83d9be7..0000000
--- a/Python_BOJ_2021/2075_2.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# N번째 큰 수
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-heap = []
-n = int(input())
-
-for _ in range(n):
-    s = list(map(int, input().split()))
-    if not len(heap):
-        for i in s:
-            heapq.heappush(heap, i)
-    else:
-        for i in s:
-            if heap[0] < i:
-                heapq.heappop(heap)
-                heapq.heappush(heap, i)
-
-print(heapq.heappop(heap))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2108.py b/Python_BOJ_2021/2108.py
deleted file mode 100644
index 902d621..0000000
--- a/Python_BOJ_2021/2108.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# 통계학
-
-import sys
-from collections import Counter
-
-n = int(sys.stdin.readline())
-arr = sorted([int(sys.stdin.readline()) for _ in range(n)])
-
-avg = round(sum(arr) / n)
-range = max(arr) - min(arr)
-
-tmp = len(arr) // 2
-mid = arr[tmp]
-
-
-print(avg)
-print(mid)
-if n == 1:
-    print(arr[0])
-else:
-    most = Counter(arr).most_common(2)
-    if most[0][1] == most[1][1]:
-        print(most[1][0])
-    else:
-        print(most[0][0])
-print(int(range))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2110.py b/Python_BOJ_2021/2110.py
deleted file mode 100644
index 410b270..0000000
--- a/Python_BOJ_2021/2110.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 공유기 설치
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, c = map(int, input().split())
-arr = sorted([int(input()) for _ in range(n)])
-
-start = 0
-end = max(arr)
-
-
-while start <= end:
-    cnt = 1
-    value = arr[0]
-    mid = (start + end) // 2
-
-    for i in range(n):
-        if arr[i] >= value + mid:
-            value = arr[i]
-            cnt += 1
-
-    if cnt >= c:
-        start = mid + 1
-        ans = mid
-    else:
-        end = mid -1
-
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2116.py b/Python_BOJ_2021/2116.py
deleted file mode 100644
index 96d53bd..0000000
--- a/Python_BOJ_2021/2116.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# 주사위 쌓기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-dice = [list(map(int, input().split())) for _ in range(n)]
-
-# A B C D E F 일때,
-# A F
-# B D
-# C E 가 주사위 위 아래 짝이된다.
-
-route = {0 : 5, 1 : 3, 2 : 4, 3 : 1, 4 : 2, 5 : 0}
-max_ans = 0
-for i in range(6):
-    ans = list()
-
-    tmp = [1, 2, 3, 4, 5, 6]
-    tmp.remove(dice[0][i])
-
-    next = dice[0][route[i]]
-
-    tmp.remove(next)
-    ans.append(max(tmp))
-
-    for j in range(1, n):
-        tmp = [1, 2, 3, 4, 5, 6]
-        tmp.remove(next)
-
-        next = dice[j][route[dice[j].index(next)]]
-
-        tmp.remove(next)
-        ans.append(max(tmp))
-
-    ans = sum(ans)
-
-    if max_ans < ans:
-        max_ans = ans
-
-print(max_ans)
\ No newline at end of file
diff --git "a/Python_BOJ_2021/2138-\354\235\221\354\232\251.py" "b/Python_BOJ_2021/2138-\354\235\221\354\232\251.py"
deleted file mode 100644
index 27d5c64..0000000
--- "a/Python_BOJ_2021/2138-\354\235\221\354\232\251.py"
+++ /dev/null
@@ -1,25 +0,0 @@
-n = int(input())
-first = list(map(int, input()))
-second = list(map(int, input()))
-
-
-def switch(a, b):
-    tmp = a[:]
-    cnt = 0
-    for i in range(1, n):
-        if tmp[i-1] == b[i-1]:
-            continue
-        cnt += 1
-
-        for j in range(i-1, i+2):
-            if j < n:
-                tmp[j] = 1 - tmp[j]
-    return cnt if tmp == b else float('inf')
-
-
-result = switch(first, second)
-first[0] = 1 - first[0]
-first[1] = 1 - first[1]
-
-result = min(result, 1 + switch(first, second))
-print(result if result != float('inf') else -1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2138.py b/Python_BOJ_2021/2138.py
deleted file mode 100644
index c8d3848..0000000
--- a/Python_BOJ_2021/2138.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# 전구와 스위치
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-first = list(map(int,input()))
-second = list(map(int, input()))
-ans = -1
-
-'''
-000
-110
-001
-010
-'''
-
-
-def switch(start):
-    global first, ans
-
-    tmp = first[:]
-    cnt = 0
-
-    for i in range(start, n):
-        if not (0 < i and tmp[i - 1] == second[i - 1]):
-            cnt += 1
-
-            if 0 < i:
-                tmp[i - 1] = 1 if tmp[i - 1] == 0 else 0
-
-            if i < n-1:
-                tmp[i + 1] = 1 if tmp[i + 1] == 0 else 0
-            tmp[i] = 1 if tmp[i] == 0 else 0
-
-        if i == n-1 and tmp == second:
-            ans = cnt if ans == -1 else min(ans, cnt)
-            break
-
-switch(0)
-switch(1)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2146.py b/Python_BOJ_2021/2146.py
deleted file mode 100644
index 5fd0f9f..0000000
--- a/Python_BOJ_2021/2146.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# 다리만들기
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-sys.setrecursionlimit(10 ** 8)
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-ans, k = 10 ** 9, 1
-
-
-def dfs(x, y):
-    visited[x][y] = True
-    graph[x][y] = k
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visited[nx][ny] and graph[nx][ny]:
-                dfs(nx, ny)
-
-
-def bfs(z):
-    global ans
-    distance = [[-1] * n for _ in range(n)]
-    queue = deque()
-
-    for i in range(n):
-        for j in range(n):
-            if graph[i][j] == z:
-                queue.append((i, j))
-                distance[i][j] = 0
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < n:
-                if graph[nx][ny] and graph[nx][ny] != z:
-                    ans = min(ans, distance[x][y])
-                    return
-
-                if not graph[nx][ny] and distance[nx][ny] == -1:
-                    distance[nx][ny] = distance[x][y] + 1
-                    queue.append((nx, ny))
-
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [[False] * n for _ in range(n)]
-
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 1 and not visited[i][j]:
-            dfs(i, j)
-            k += 1
-
-for i in range(1, k + 1):
-    bfs(i)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2153.py b/Python_BOJ_2021/2153.py
deleted file mode 100644
index 559fb0e..0000000
--- a/Python_BOJ_2021/2153.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 소수 단어
-import sys
-
-tmp, ans = sys.stdin.readline().rstrip(), 0
-
-lower = 'abcdefghijklmnopqrstuvwxyz'
-upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-
-for i in range(len(tmp)):
-    if tmp[i] in lower:
-        ans += (ord(tmp[i]) - 96)
-    elif tmp[i] in upper:
-        ans += (ord(tmp[i]) - 64 + 26)
-
-p = 0
-for i in range(2, ans):
-    if ans % i == 0:
-        p += 1
-
-if p == 0:
-    print("It is a prime word.")
-else:
-    print("It is not a prime word.")
\ No newline at end of file
diff --git a/Python_BOJ_2021/2156.py b/Python_BOJ_2021/2156.py
deleted file mode 100644
index 42191a7..0000000
--- a/Python_BOJ_2021/2156.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 포도주 시식
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-
-wines = [0]
-for _ in range(n):
-    wines.append(int(input()))
-
-dp = [0] * n
-dp[0] = wines[0]
-
-if n >= 2:
-    dp[1] = wines[0] + wines[1]
-
-if n >= 3:
-    dp[2] = max(wines[0] + wines[2], wines[1] + wines[2], dp[1])
-
-    for i in range(3, n):
-        dp[i] = max(dp[i-3] + wines[i-1] + wines[i], dp[i-2] + wines[i], dp[i-1])
-
-print(dp[n-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2161.py b/Python_BOJ_2021/2161.py
deleted file mode 100644
index f071cc0..0000000
--- a/Python_BOJ_2021/2161.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 카드
-import sys
-from collections import deque
-N = int(sys.stdin.readline().rstrip())
-cards = deque(i + 1 for i in range(N))
-
-ans = []
-while len(cards) > 1:
-    ans.append(cards.popleft())
-    cards.rotate(-1)
-ans.append(cards[0])
-print(' '.join(map(str, ans)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2178.py b/Python_BOJ_2021/2178.py
deleted file mode 100644
index 2c93703..0000000
--- a/Python_BOJ_2021/2178.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 미로 탐색
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().rstrip())) for _ in range(n)]
-
-dx = [-1, 1, 0, 0]
-dy = [0, 0, 1, -1]
-
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((0, 0))
-
-    while queue:
-        x, y = queue.popleft()
-
-        for i in range(4):
-            nx = x + dx[i]
-            ny = y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == 1:
-                    graph[nx][ny] = graph[x][y] + 1
-                    queue.append((nx, ny))
-
-    print(graph[n - 1][m - 1])
-
-
-bfs(0, 0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2178_2.py b/Python_BOJ_2021/2178_2.py
deleted file mode 100644
index 357304c..0000000
--- a/Python_BOJ_2021/2178_2.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 미로 탐색
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-
-
-def bfs():
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = 1
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == 1 and not visited[nx][ny]:
-                    queue.append((nx, ny))
-                    visited[nx][ny] = visited[x][y] + 1
-
-
-bfs()
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2178_3.py b/Python_BOJ_2021/2178_3.py
deleted file mode 100644
index 163719e..0000000
--- a/Python_BOJ_2021/2178_3.py
+++ /dev/null
@@ -1,25 +0,0 @@
-from collections import deque
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 1
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == 1 and not visited[nx][ny]:
-                    queue.append((nx, ny))
-                    visited[nx][ny] = visited[x][y] + 1
-
-
-bfs(0, 0)
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2193.py b/Python_BOJ_2021/2193.py
deleted file mode 100644
index c5a55cb..0000000
--- a/Python_BOJ_2021/2193.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 이친수
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-d = [0] * 100
-
-
-def fibo(x):
-    if x == 1 or x == 2:
-        return 1
-
-    if d[x] != 0:
-        return d[x]
-
-    d[x] = fibo(x-1) + fibo(x-2)
-    return d[x]
-
-
-print(fibo(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2206.py b/Python_BOJ_2021/2206.py
deleted file mode 100644
index 6ae06f6..0000000
--- a/Python_BOJ_2021/2206.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 벽 부수고 이동하기
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[False for _ in range(m)] for _ in range(n)]
-broke = [[False for _ in range(m)] for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(x, y):
-    ans = -1
-    queue = deque()
-    queue.append([x, y, 1, False])
-    visited[x][y] = True
-
-    while queue:
-        x, y, cnt, destroy = queue.popleft()
-        if x == n-1 and y == m-1:
-            if ans < 0: ans = cnt
-            else: ans = min(cnt, ans)
-
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not destroy:
-                    if graph[nx][ny] == 0:
-                        if not visited[nx][ny]:
-                            queue.append([nx, ny, cnt+1, destroy])
-                            visited[nx][ny] = True
-
-                    else:
-                        if not broke[nx][ny]:
-                            broke[nx][ny] = True
-                            queue.append([nx, ny, cnt+1, True])
-
-                else:
-                    if graph[nx][ny] == 0:
-                        if not broke[nx][ny]:
-                            broke[nx][ny] = True
-                            queue.append([nx, ny, cnt+1, destroy])
-    return ans
-
-
-print(bfs(0, 0))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2212.py b/Python_BOJ_2021/2212.py
deleted file mode 100644
index 2e70b3d..0000000
--- a/Python_BOJ_2021/2212.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 센서
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-k = int(input())
-arr = list(map(int, input().split()))
-tmp = [0] * n
-arr.sort()
-
-if n <= k:
-    ans = 0
-else:
-    for i in range(n-1):
-        tmp[i] = arr[i+1] - arr[i]
-    tmp.sort()
-
-    for _ in range(k-1):
-        tmp.pop(len(tmp)-1)
-    ans = sum(tmp)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2217.py b/Python_BOJ_2021/2217.py
deleted file mode 100644
index 9963908..0000000
--- a/Python_BOJ_2021/2217.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 로프
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [int(input()) for _ in range(n)]
-arr.sort(reverse=True)
-print(arr)
-ans = list()
-
-for i in range(n):
-    ans.append(arr[i] * (i+1))
-
-print(max(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2230.py b/Python_BOJ_2021/2230.py
deleted file mode 100644
index 602e415..0000000
--- a/Python_BOJ_2021/2230.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 수 고르기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-arr = [int(input()) for _ in range(n)]
-arr.sort()
-
-left, right = 0, 0
-answer = 2345678910
-
-while left < n and right < n:
-    if arr[right] - arr[left] < m:
-        right += 1
-    else:
-        answer = min(answer, arr[right] - arr[left])
-        left += 1
-
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2231.py b/Python_BOJ_2021/2231.py
deleted file mode 100644
index d98cc90..0000000
--- a/Python_BOJ_2021/2231.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 분해합
-
-n = int(input())
-ans = []
-
-for i in range(1, n+1):
-    if n == i + sum(map(int, str(i))):
-        ans.append(i)
-        
-if len(ans) == 0:
-    print('0')
-else:
-    print(min(ans))
-
-
diff --git a/Python_BOJ_2021/2231_2.py b/Python_BOJ_2021/2231_2.py
deleted file mode 100644
index 4105b7e..0000000
--- a/Python_BOJ_2021/2231_2.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 분해합
-import sys
-n = int(sys.stdin.readline().rstrip())
-
-
-def function(n):
-    ans = n
-    while n > 0:
-        tmp = n % 10
-        n = n // 10
-        ans += tmp
-    return ans
-
-
-k = 0
-for i in range(int(n * 0.80), n + 1):
-    if function(i) == n:
-        k = i
-        break
-print(k)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2292.py b/Python_BOJ_2021/2292.py
deleted file mode 100644
index 8f515ae..0000000
--- a/Python_BOJ_2021/2292.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 벌집
-
-n = int(input())
-round = 1
-
-while n > 1:
-    n = n - ( 6 * round)
-    round += 1
-
-print(round)
-
diff --git a/Python_BOJ_2021/2304.py b/Python_BOJ_2021/2304.py
deleted file mode 100644
index fa5312c..0000000
--- a/Python_BOJ_2021/2304.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 창고 다각형
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-max_L, max_H, max_Idx = 0, 1, 0
-arr = list()
-
-for i in range(int(input())):
-    idx, height = map(int, input().split())
-    arr.append([idx, height])
-
-    if max_L < idx: # 가장 마지막 idx
-        max_L = idx
-
-    if max_H < height: # 가장 높은것
-        max_H = height # 높이
-        max_Idx = idx # 높은 녀석의 idx
-
-list = [0] * (max_L + 1)
-for i, h in arr:
-    list[i] = h
-
-tmp, ans = 0, 0
-for i in range(max_Idx + 1):
-    if list[i] > tmp:
-        tmp = list[i]
-    ans += tmp
-
-tmp = 0
-for i in range(max_L, max_Idx, -1):
-    if list[i] > tmp:
-        tmp = list[i]
-    ans += tmp
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2309.py b/Python_BOJ_2021/2309.py
deleted file mode 100644
index 6674dc8..0000000
--- a/Python_BOJ_2021/2309.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import sys
-
-arr = [int(sys.stdin.readline().rstrip()) for _ in range(9)]
-arr.sort()
-sum = sum(arr)
-
-for i in range(9):
-    for j in range(i+1, 9):
-        if (sum - arr[i] - arr[j]) == 100:
-            for k in range(9):
-                if i == k or j == k:
-                    continue
-                else:
-                    print(arr[k])
-            exit(0)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2309_2.py b/Python_BOJ_2021/2309_2.py
deleted file mode 100644
index 24da844..0000000
--- a/Python_BOJ_2021/2309_2.py
+++ /dev/null
@@ -1,21 +0,0 @@
-arr = [0] * 9
-for i in range(len(arr)):
-    arr[i] = int(input())
-
-sum_height = sum(arr)
-
-flag = False
-for i in range(len(arr)):
-    for j in range(i + 1, len(arr)):
-        if not flag:
-            if sum_height - arr[i] - arr[j] == 100:
-                arr[i] = 0
-                arr[j] = 0
-                flag = True
-
-arr = sorted(arr)
-for i in arr:
-    if i == 0:
-        continue
-    else:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2309_3.py b/Python_BOJ_2021/2309_3.py
deleted file mode 100644
index 0975917..0000000
--- a/Python_BOJ_2021/2309_3.py
+++ /dev/null
@@ -1,17 +0,0 @@
-arr = [int(input()) for _ in range(9)]
-
-sum = sum(arr)
-flag = False
-
-for i in range(9):
-    for j in range(i + 1, 9):
-        if sum - arr[i] - arr[j] == 100:
-            if not flag:
-                arr[i] = 0
-                arr[j] = 0
-                flag = True
-
-arr = sorted(arr)
-for i in arr:
-    if i == 0 : continue
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2346.py b/Python_BOJ_2021/2346.py
deleted file mode 100644
index 0a70234..0000000
--- a/Python_BOJ_2021/2346.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 풍선 터뜨리기
-from collections import deque
-n = int(input())
-q = deque(enumerate(map(int, input().split())))
-ans = []
-
-while q:
-    idx, num = q.popleft()
-    ans.append(idx + 1)
-    if num > 0:
-        q.rotate(-(num-1))
-    elif num < 0:
-        q.rotate(-num)
-
-print(' '.join(map(str, ans)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2386.py b/Python_BOJ_2021/2386.py
deleted file mode 100644
index 13f17d3..0000000
--- a/Python_BOJ_2021/2386.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 도비의 영어 공부
-import sys
-
-while True:
-    s = sys.stdin.readline().rstrip().lower()
-    if s[0] == '#': break
-    arr = list(s[2:])
-
-    cnt = 0
-    for i in range(len(arr)):
-        if s[0] == arr[i]:
-            cnt += 1
-
-    print(f'{s[0]} {cnt}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/2437.py b/Python_BOJ_2021/2437.py
deleted file mode 100644
index 3348358..0000000
--- a/Python_BOJ_2021/2437.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 저울
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-arr.sort()
-print(arr)
-ans = 1
-
-for i in range(n):
-    if ans < arr[i]:
-        break
-    ans += arr[i]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2446.py b/Python_BOJ_2021/2446.py
deleted file mode 100644
index 3ae6796..0000000
--- a/Python_BOJ_2021/2446.py
+++ /dev/null
@@ -1,6 +0,0 @@
-n = int(input())
-
-for i in range(1, n+1):
-    print(' ' * (i-1) + '*' * (2*(n-i)+1))
-for i in range(2,n+1):
-    print(' ' * (n-i) + '*' * (2*i-1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2447.py b/Python_BOJ_2021/2447.py
deleted file mode 100644
index bf1b776..0000000
--- a/Python_BOJ_2021/2447.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 별 찍기
-import sys
-
-N = int(input())
-
-
-def star(i, j):
-    while i != 0:
-        if i % 3 == 1 and j % 3 == 1:
-            sys.stdout.write(' ')
-            return None
-        i = i // 3
-        j = j // 3
-    sys.stdout.write('*')
-
-
-for i in range(N):
-    for j in range(N):
-        star(i, j)
-    print()
diff --git a/Python_BOJ_2021/2468.py b/Python_BOJ_2021/2468.py
deleted file mode 100644
index 2aee614..0000000
--- a/Python_BOJ_2021/2468.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 안전영역
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y, h):
-    visited[x][y] = True
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visited[nx][ny] and graph[nx][ny] > h:
-                dfs(nx, ny, h)
-
-
-ans = 1
-for depth in range(0, 101):
-    visited = [[False] * n for _ in range(n)]
-    cnt = 0
-    for i in range(n):
-        for j in range(n):
-            if graph[i][j] > depth and not visited[i][j]:
-                cnt += 1
-                visited[i][j] = True
-                dfs(i, j, depth)
-    ans = max(ans, cnt)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2495.py b/Python_BOJ_2021/2495.py
deleted file mode 100644
index 9a16807..0000000
--- a/Python_BOJ_2021/2495.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 연속 구간
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def cnt(s):
-    cnt = 1
-    max_cnt = 1
-    compare = s[0]
-
-    for n in s[1:]:
-        if n == compare:
-            cnt += 1
-        else:
-            max_cnt = max(max_cnt, cnt)
-            compare = n
-            cnt = 1
-    max_cnt = max(max_cnt, cnt)
-    return max_cnt
-
-
-for _ in range(3):
-    print(cnt(input()))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2503.py b/Python_BOJ_2021/2503.py
deleted file mode 100644
index d17c0f2..0000000
--- a/Python_BOJ_2021/2503.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 숫자 야구
-from itertools import permutations
-
-n = int(input())
-arr =[0 for i in range(n)]
-for i in range(n):
-    arr[i] = list(map(int, input().split()))
-
-result = 0
-
-def sol(x):
-    cnt= 0
-    for i in range(n):
-        strike = 0
-        ball_arr = set()
-        ball = 0
-        for j in range(3):
-            if str(x)[j] == str(arr[i][0])[j]:
-                strike += 1
-            ball_arr.add(str(x)[j])
-            ball_arr.add(str(arr[i][0])[j])
-        ball = 6 - len(ball_arr) - strike
-        if strike == arr[i][1] and ball == arr[i][2]:
-            cnt += 1
-    if cnt == n:
-        return True
-
-
-for i in permutations(range(1, 10), 3):
-    num = 0
-    for j in range(3):
-        num += i[j] * 10 ** j
-    if sol(num) is True:
-        result += 1
-
-print(result)
diff --git a/Python_BOJ_2021/2504.py b/Python_BOJ_2021/2504.py
deleted file mode 100644
index e7289c8..0000000
--- a/Python_BOJ_2021/2504.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# 괄호의 값
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-data = input().strip()
-
-
-def check(a):
-    stack = []
-    for i in a:
-        if i == '(' or i == '[':
-            stack.append(i)
-            print(stack)
-        elif i == ')' and stack:
-            if stack[-1] == '(':
-                stack = stack[:-1]
-                print(stack)
-            else:
-                stack.append(i)
-                print(stack)
-        elif i == ']' and stack:
-            if stack[-1] == '[':
-                stack = stack[:-1]
-                print(stack)
-            else:
-                stack.append(i)
-                print(stack)
-        else:
-            stack.append(i)
-            print(stack)
-
-    if stack:
-        return False
-    else:
-        return True
-
-
-def solve(b):
-    stack = []
-    for j in b:
-        if j == '(' or j == '[':
-            stack.append(j)
-        elif j == ')':
-            if stack[-1] == '(':
-                stack[-1] = 2
-            else:
-                tmp = 0
-                for i in range(len(stack) -1, -1, -1):
-                    if stack[i] == '(':
-                        stack[-1] = tmp * 2
-                        break
-                    else:
-                        tmp += stack[i]
-                        stack = stack[:-1]
-        elif j == ']':
-            if stack[-1] == '[':
-                stack[-1] = 3
-            else:
-                tmp = 0
-                for i in range(len(stack) -1, -1, -1):
-                    if stack[i] == '[':
-                        stack[-1] = tmp * 3
-                        break
-                    else:
-                        tmp += stack[i]
-                        stack = stack[:-1]
-    return sum(stack)
-
-
-if not check(data):
-    print(0)
-else:
-    print(solve(data))
-
diff --git a/Python_BOJ_2021/2523.py b/Python_BOJ_2021/2523.py
deleted file mode 100644
index 2e6e6cb..0000000
--- a/Python_BOJ_2021/2523.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 별 찍기 - 13
-
-n = int(input())
-
-for i in range(1,n+1):
-    print('*' * i)
-for j in range(1,n):
-    print('*' * (n-j))
diff --git a/Python_BOJ_2021/2562.py b/Python_BOJ_2021/2562.py
deleted file mode 100644
index 6369902..0000000
--- a/Python_BOJ_2021/2562.py
+++ /dev/null
@@ -1,8 +0,0 @@
-list = []
-
-for _ in range(9):
-    a = int(input())
-    list.append(a)
-
-print(max(list))
-print(list.index(max(list))+1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2563.py b/Python_BOJ_2021/2563.py
deleted file mode 100644
index d06bacc..0000000
--- a/Python_BOJ_2021/2563.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 색종이
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-graph = [[0] * 100 for _ in range(100)]
-ans = 0
-
-n = int(input())
-for i in range(n):
-    x, y = map(int,input().split())
-
-    for a in range(x, x + 10):
-        for b in range(y, y + 10):
-            if graph[a][b] == 1: continue
-            graph[a][b] = 1
-            ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2563_2.py b/Python_BOJ_2021/2563_2.py
deleted file mode 100644
index d596b01..0000000
--- a/Python_BOJ_2021/2563_2.py
+++ /dev/null
@@ -1,20 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-graph = [[0] * 100 for _ in range(100)]
-
-n = int(input())
-for _ in range(n):
-    a, b = map(int, input().split())
-
-    for i in range(a, a + 10):
-        for j in range(b, b + 10):
-            if graph[i][j] == 1: continue
-            graph[i][j] = 1
-
-ans = 0
-for i in range(100):
-    for j in range(100):
-        if graph[i][j] == 1:
-            ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2567.py b/Python_BOJ_2021/2567.py
deleted file mode 100644
index 0b4e2f3..0000000
--- a/Python_BOJ_2021/2567.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 색종이 - 2
-graph = [[0] * 101 for _ in range(101)]
-
-for _ in range(int(input())):
-    x, y = map(int, input().split())
-
-    for i in range(x, x + 10):
-        for j in range(y, y + 10):
-                graph[i][j] = 1
-
-ans = 0
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-for i in range(len(graph)):
-    for j in range(len(graph[i])):
-        if graph[i][j] == 1:
-            for d in range(4):
-                nx, ny = i + dx[d], j + dy[d]
-                if graph[nx][ny] == 0 or nx < 0 or nx > 100 or ny < 0 or ny > 100:
-                    ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2573.py b/Python_BOJ_2021/2573.py
deleted file mode 100644
index 4b91121..0000000
--- a/Python_BOJ_2021/2573.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# 빙산
-import sys
-from collections import deque, defaultdict
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def bfs(start, maps, visited):
-    ice_berg = defaultdict(int)
-    queue = deque()
-    queue.append(start)
-    dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-    while queue:
-        x, y = queue.popleft()
-        visited[x][y] = 1
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == 0:
-                    ice_berg[(x, y)] += 1
-                elif maps[nx][ny] != 0 and not visited[nx][ny]:
-                    visited[nx][ny] = 1
-                    queue.append((nx, ny))
-    return ice_berg
-
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-
-def solution(r, c, maps):
-    ans = 0
-    while True:
-        visited = [[0 for _ in range(c)] for _ in range(r)]
-        continent = 0
-
-        for x in range(r):
-            for y in range(c):
-                if maps[x][y] != 0 and not visited[x][y]:
-                    ice_berg = bfs((x, y), maps, visited)
-                    continent += 1
-
-        if continent > 1:
-            return ans
-        if continent == 0:
-            return 0
-
-        for (x, y), cnt in ice_berg.items():
-            maps[x][y] = 0 if maps[x][y] < cnt else maps[x][y] - cnt
-        ans += 1
-
-
-print(solution(n, m, graph))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2577.py b/Python_BOJ_2021/2577.py
deleted file mode 100644
index 2f91d8f..0000000
--- a/Python_BOJ_2021/2577.py
+++ /dev/null
@@ -1,16 +0,0 @@
-a = int(input())
-b = int(input())
-c = int(input())
-
-total = str(a * b * c)
-total_list = []
-
-for i in range(len(total)):
-    total_list.append(total[i])
-
-cnt = 0
-
-while cnt <= 9:
-    num = total_list.count(str(cnt))
-    cnt += 1
-    print(num)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2578.py b/Python_BOJ_2021/2578.py
deleted file mode 100644
index c8db53a..0000000
--- a/Python_BOJ_2021/2578.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-bingo = [list(map(int, input().split())) for _ in range(5)]
-tmp = [list(map(int, input().split())) for _ in range(5)]
-cmd = list()
-for i in range(5):
-    for j in range(5):
-        cmd.append(tmp[i][j])
-
-
-def find_bingo():
-    total = 0
-    for i in range(5):
-        cnt1 = 0
-        for j in range(5):
-            if bingo[i][j] == 0:
-                cnt1 += 1
-                if cnt1 == 5:
-                    total += 1
-    for i in range(5):
-        cnt2 = 0
-        for j in range(5):
-            if bingo[j][i] == 0:
-                cnt2 += 1
-                if cnt2 == 5:
-                    total += 1
-    cnt3 = 0
-    for i in range(5):
-        if bingo[i][i] == 0:
-            cnt3 += 1
-            if cnt3 == 5:
-                total += 1
-    cnt4 = 0
-    for i in range(5):
-        if bingo[i][4 - i] == 0:
-            cnt4 += 1
-            if cnt4 == 5:
-                total += 1
-    return total
-
-
-cnt = 0
-for k in range(len(cmd)):
-    cnt += 1
-    for i in range(5):
-        for j in range(5):
-            if cmd[k] == bingo[i][j]:
-                bingo[i][j] = 0
-                if find_bingo() >= 3:
-                    print(cnt)
-                    exit(0)
-
-
diff --git a/Python_BOJ_2021/2579.py b/Python_BOJ_2021/2579.py
deleted file mode 100644
index e6ad581..0000000
--- a/Python_BOJ_2021/2579.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 계단 오르기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-
-stairs = [0]
-visit = [0]
-
-for i in range(n):
-    stairs.append(int(input()))
-
-if n >= 1:
-    visit.append(stairs[1])
-
-if n >= 2:
-    visit.append(stairs[1] + stairs[2])
-
-if n >= 3:
-    visit.append(max(stairs[1]+stairs[3], stairs[2]+stairs[3]))
-
-for i in range(4, n+1):
-    visit.append(max(visit[i-3] + stairs[i-1] + stairs[i], visit[i-2] + stairs[i]))
-
-print(visit[-1])
diff --git a/Python_BOJ_2021/2581.py b/Python_BOJ_2021/2581.py
deleted file mode 100644
index 827cf9b..0000000
--- a/Python_BOJ_2021/2581.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 소수
-M = int(input())
-N = int(input())
-
-cnt = 0
-numbers = []
-
-for i in range(M, N+1):
-    for j in range(1, i+1):
-        if i % j == 0:
-            cnt += 1
-
-    if cnt == 2:
-        numbers.append(i)
-    cnt = 0
-
-if numbers == []:
-    print('-1')
-else:
-    print(sum(numbers))
-    print(min(numbers))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2583.py b/Python_BOJ_2021/2583.py
deleted file mode 100644
index 837811c..0000000
--- a/Python_BOJ_2021/2583.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# 영역 구하기
-import sys
-sys.setrecursionlimit(10001)
-input = lambda : sys.stdin.readline().rstrip()
-
-m, n, k = map(int,input().strip().split())
-graph = [[0] * n for i in range(m)]
-visited = [[False] * n for i in range(m)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-for i in range(k):
-    x1, y1, x2, y2 = map(int,input().strip().split())
-    for x in range((m - y2), (m - y1), 1):
-        for y in range(x1, x2, 1):
-            graph[x][y] = 1
-
-
-def dfs(x, y):
-    global val
-    val += 1
-    visited[x][y] = True
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-
-        if 0 <= ny < n and 0 <= nx < m:
-            if not visited[nx][ny] and graph[nx][ny] == 0:
-                dfs(nx, ny)
-
-
-ans = []
-for i in range(m):
-    for j in range(n):
-        if not visited[i][j] and graph[i][j] == 0:
-            val = 0
-            dfs(i, j)
-            ans.append(val)
-
-print(len(ans))
-for i in sorted(ans):
-    print(i, end=" ")
\ No newline at end of file
diff --git a/Python_BOJ_2021/2589.py b/Python_BOJ_2021/2589.py
deleted file mode 100644
index 560973b..0000000
--- a/Python_BOJ_2021/2589.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 보물섬
-from collections import deque
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-L, W = map(int, input().split())
-graph = [list(map(str,input())) for _ in range(L)]
-visited = [[False] * W for _ in range(L)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(x, y):
-    cnt = 0
-    queue = deque()
-    queue.append((x, y, 0))
-    visited[x][y] = True
-
-    while queue:
-        x, y, d = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < L and 0 <= ny < W:
-                if graph[nx][ny] == 'L' and not visited[nx][ny]:
-                    queue.append((nx, ny, d+1))
-                    visited[nx][ny] = True
-                    cnt = d + 1
-    return cnt
-
-
-ans = 0
-for i in range(L):
-    for j in range(W):
-        if graph[i][j] == 'L':
-            ans = max(ans, bfs(i, j))
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2596.py b/Python_BOJ_2021/2596.py
deleted file mode 100644
index 4e6eeab..0000000
--- a/Python_BOJ_2021/2596.py
+++ /dev/null
@@ -1,61 +0,0 @@
-# 비밀편지
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-s = list(str(input()))
-ans = []
-err_cnt = 0
-
-word = [['0', '0', '0', '0', '0', '0'],  # A
-        ['0', '0', '1', '1', '1', '1'],  # B
-        ['0', '1', '0', '0', '1', '1'],  # C
-        ['0', '1', '1', '1', '0', '0'],  # D
-        ['1', '0', '0', '1', '1', '0'],  # E
-        ['1', '0', '1', '0', '0', '1'],  # F
-        ['1', '1', '0', '1', '0', '1'],  # G
-        ['1', '1', '1', '0', '1', '0']]  # H
-alpha = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
-
-
-def modify(arr):
-    k = list()
-    for i in range(8):
-        chk = 0
-        for j in range(6):
-            if arr[j] != word[i][j]:
-                chk += 1
-        k.append([chk, i])
-        k.sort()
-    if k[0][0] == 1:
-        return k[0][1]
-    else:
-        return -1
-
-
-for i in range(n):
-    flag = False
-    for j in range(8):
-        if s[0:6] == word[j]:
-            ans.append(alpha[j])
-            flag = True
-        else:
-            pass
-
-    if not flag:
-        if modify(s[0:6]) == -1:
-            err_cnt = 1
-            m = i + 1
-            break
-        else:
-            ans.append(alpha[modify(s[0:6])])
-    del s[0:6]
-    if err_cnt == 1:
-        break
-
-if err_cnt == 1:
-    print(m)
-else:
-    for i in range(n):
-        print(ans[i], end='')
-
diff --git a/Python_BOJ_2021/2605.py b/Python_BOJ_2021/2605.py
deleted file mode 100644
index 1d9f182..0000000
--- a/Python_BOJ_2021/2605.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 줄 세우기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-cmd = list(map(int, input().split()))
-arr = []
-
-for i in range(1, n + 1):
-    arr.insert(len(arr) - cmd[i - 1], i) # insert 함수 처음 봄...
-
-for i in arr:
-    print(i, end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2021/2606-bfs.py b/Python_BOJ_2021/2606-bfs.py
deleted file mode 100644
index 80be6f3..0000000
--- a/Python_BOJ_2021/2606-bfs.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 바이러스 - dfs
-from collections import deque
-
-node = int(input())
-edge = int(input())
-
-graph = [[] for _ in range(node + 1)]
-visited = [False] * (node + 1)
-
-for _ in range(edge):
-    a, b = map(int, input().split())
-    graph[a].append(b)
-    graph[b].append(a)
-
-
-def bfs():
-    cnt = 0
-    will_visit = deque([1])
-
-    while will_visit:
-        start = will_visit.popleft()
-        if visited[start] == False:
-            visited[start] = True
-            cnt += 1
-
-            for i in graph[start]:
-                if visited[i] == False:
-                    will_visit.append(i)
-
-    return cnt - 1
-
-print(bfs())
\ No newline at end of file
diff --git a/Python_BOJ_2021/2606-dfs.py b/Python_BOJ_2021/2606-dfs.py
deleted file mode 100644
index b533f40..0000000
--- a/Python_BOJ_2021/2606-dfs.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 바이러스 - dfs
-
-node = int(input())
-edge = int(input())
-
-graph = [[] for _ in range(node + 1)]
-visited = [False] * (node + 1)
-cnt = 0
-
-for _ in range(edge):
-    a,b = map(int, input().split())
-    graph[a].append(b)
-    graph[b].append(a)
-
-
-def dfs(start_node):
-    global cnt
-    cnt += 1
-    visited[start_node] = True
-
-    for i in graph[start_node]:
-        if not visited[i]:
-            dfs(i)
-
-    return cnt - 1
-
-
-print(dfs(1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2606.py b/Python_BOJ_2021/2606.py
deleted file mode 100644
index f13ca5b..0000000
--- a/Python_BOJ_2021/2606.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# 바이러스
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-w = int(input())
-graph = [[] for _ in range(n + 1)]
-visited = [0] * (n + 1)
-
-for _ in range(w):
-    from_, to_ = map(int, input().split())
-    graph[from_].append(to_)
-    graph[to_].append(from_)
-cnt = 0
-
-def dfs(node):
-    global cnt
-    visited[node] = 1
-    for i in graph[node]:
-        if not visited[i]:
-            dfs(i)
-            cnt += 1
-    return cnt
-
-
-print(dfs(1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2608.py b/Python_BOJ_2021/2608.py
deleted file mode 100644
index b346cc3..0000000
--- a/Python_BOJ_2021/2608.py
+++ /dev/null
@@ -1,89 +0,0 @@
-# 로마 숫자
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-num = {'I' : 1, 'V' : 5, 'X' : 10, 'L' : 50, 'C' : 100, 'D' : 500, 'M' : 1000}
-extra = {'IV' : 4, 'IX' : 9, 'XL' : 40, 'XC' : 90, 'CD' : 400, 'CM' : 900}
-
-num1, num2 = input(), input()
-
-
-def toNum(r):
-    res = 0
-    n = len(r)
-    idx = 0
-
-    while idx < n:
-        if idx == n - 1:
-            res += num[r[idx]]
-            break
-
-        flag = True
-        if r[idx] == 'I':
-            if r[idx + 1] == 'V' or r[idx + 1] == 'X':
-                res += extra[r[idx : idx + 2]]
-                flag = False
-        elif r[idx] == 'X':
-            if r[idx + 1] == 'L' or r[idx + 1] == 'C':
-                res += extra[r[idx : idx + 2]]
-                flag = False
-
-        elif r[idx] == 'C':
-            if r[idx + 1] == 'D' or r[idx + 1] == 'M':
-                res += extra[r[idx : idx + 2]]
-                flag = False
-
-        if not flag:
-            idx += 2
-        else:
-            res += num[r[idx]]
-            idx += 1
-
-    return res
-
-
-a, b = toNum(num1), toNum(num2)
-total = a + b
-print(total)
-
-ans = ""
-total = str(total)
-t = len(total)
-n = len(total)
-
-while n:
-    nums = int(total[t - n])
-    if n == 4:
-        ans += 'M' * nums
-    elif n == 3:
-        if nums == 9:
-            ans += 'CM'
-        elif nums == 4:
-            ans += 'CD'
-        else:
-            if nums >= 5:
-                ans += 'D'
-            ans += 'C' * (nums % 5)
-
-    elif n == 2:
-        if nums == 9:
-            ans += 'XC'
-        elif nums == 4:
-            ans += 'XL'
-        else:
-            if nums >= 5:
-                ans += 'L'
-            ans += 'X' * (nums % 5)
-
-    elif n == 1:
-        if nums == 9:
-            ans += 'IX'
-        elif nums == 4:
-            ans += 'IV'
-        else:
-            if nums >= 5:
-                ans += 'V'
-            ans += 'I' * (nums % 5)
-    n -= 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2609.py b/Python_BOJ_2021/2609.py
deleted file mode 100644
index 67300b7..0000000
--- a/Python_BOJ_2021/2609.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 최대공약수와 최소공배수
-a, b = map(int, input().split())
-
-
-def gcd(a, b):
-    if a % b == 0: return b
-    else: return gcd(b, a % b)
-
-
-if a > b:
-    gcd = gcd(a, b)
-    lcm = (a * b) // gcd
-    print(gcd)
-    print(lcm)
-else:
-    gcd = gcd(b, a)
-    lcm = (a * b) // gcd
-    print(gcd)
-    print(lcm)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2615.py b/Python_BOJ_2021/2615.py
deleted file mode 100644
index d48ef8b..0000000
--- a/Python_BOJ_2021/2615.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# 오목
-graph = [list(map(int, input().split())) for _ in range(19)]
-print(graph)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2630.py b/Python_BOJ_2021/2630.py
deleted file mode 100644
index a74a520..0000000
--- a/Python_BOJ_2021/2630.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 색종이 만들기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-sys.setrecursionlimit(1000001)
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-w, b = 0, 0 # 답이 될 값들 지정
-
-
-def solution(x, y, t):
-    global w, b
-    color = graph[x][y]
-    flag = 0
-
-    for i in range(x, x + t):
-        if flag: break
-        for j in range(y, y + t):
-            if graph[i][j] != color:
-                solution(x, y, t//2)
-                solution(x + t//2, y, t//2)
-                solution(x, y + t//2, t//2)
-                solution(x + t//2, y + t//2, t//2)
-                flag = 1
-                break
-
-    if not flag:
-        if graph[x][y] == 1:
-            b += 1
-        else:
-            w += 1
-
-
-solution(0, 0, n)
-print(w)
-print(b)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2636.py b/Python_BOJ_2021/2636.py
deleted file mode 100644
index 28f14be..0000000
--- a/Python_BOJ_2021/2636.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# 치즈
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-left = 0
-
-for x in range(n):
-    for y in range(m):
-        if graph[x][y] == 1:
-            left += 1
-
-
-def bfs(left):
-    while queue:
-        x, y = queue.popleft()
-
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < m and not visited[nx][ny]:
-                visited[nx][ny] = True
-
-                if graph[nx][ny] == 1:
-                    graph[nx][ny] = 2
-                    left -= 1
-                else:
-                    queue.append([nx, ny])
-    return left
-
-
-def remove():
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 2:
-                graph[i][j] = 0
-
-
-queue = deque()
-cnt = 0
-tmp = left
-
-while left != 0:
-    visited = [[False] * m for _ in range(n)]
-    queue.append([0, 0])
-    visited[0][0] = True
-    left = bfs(left)
-    if left != 0:
-        tmp = left
-    cnt += 1
-    remove()
-
-print(cnt)
-print(tmp)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2638.py b/Python_BOJ_2021/2638.py
deleted file mode 100644
index 960afe1..0000000
--- a/Python_BOJ_2021/2638.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# 치즈
-import sys
-sys.setrecursionlimit(100001)
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def cheese_check(n, m):
-    for x in range(n):
-        for y in range(m):
-            if graph[x][y] == 1:
-                return False
-    return True
-
-
-def dfs(x, y):
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < m and not visited[nx][ny]:
-            if graph[nx][ny] != 0:
-                graph[nx][ny] += 1
-            else:
-                visited[nx][ny] = True
-                dfs(nx, ny)
-
-
-def remove_cheese(graph, n, m):
-    for x in range(n):
-        for y in range(m):
-            if graph[x][y] >= 3:
-                graph[x][y] = 0
-            elif graph[x][y] > 0:
-                graph[x][y] = 1
-    return graph
-
-
-ans = 0
-while True:
-    visited = [[False] * m for _ in range(n)]
-    if cheese_check(n, m):
-        print(ans)
-        break
-    visited[0][0] = True
-    dfs(0, 0)
-    graph = remove_cheese(graph, n, m)
-    ans += 1
\ No newline at end of file
diff --git a/Python_BOJ_2021/2644.py b/Python_BOJ_2021/2644.py
deleted file mode 100644
index 1d61091..0000000
--- a/Python_BOJ_2021/2644.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 촌수계산
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-a, b = map(int, input().split())
-m = int(input())
-s = [[] for _ in range(n + 1)]
-
-family_ship = [0 for _ in range(n + 1)]
-
-
-def bfs(start):
-    queue = deque()
-    queue.append(start)
-    visited = [0 for _ in range(n + 1)]
-    visited[start] = 1
-
-    while queue:
-        x = queue.popleft()
-        for i in s[x]:
-            if visited[i] == 0:
-                visited[i] = 1
-                family_ship[i] = family_ship[x] + 1
-                queue.append(i)
-
-
-for i in range(m):
-    x, y = map(int, input().split())
-    s[x].append(y)
-    s[y].append(x)
-print(s)
-bfs(a)
-
-print(family_ship[b] if family_ship[b] != 0 else -1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2644_2.py b/Python_BOJ_2021/2644_2.py
deleted file mode 100644
index 4790ea8..0000000
--- a/Python_BOJ_2021/2644_2.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 촌수계산
-from collections import deque
-
-n = int(input())
-a, b = map(int, input().split())
-
-family_tree = [[] for _ in range(n + 1)]
-m = int(input())
-
-for _ in range(m):
-    x, y = map(int, input().split())
-    family_tree[x].append(y)
-    family_tree[y].append(x)
-
-answer = [0 for _ in range(n + 1)]
-
-
-def bfs(node):
-    queue = deque()
-    queue.append(node)
-    visited = [0 for _ in range(n + 1)]
-    visited[node] = 1
-
-    while queue:
-        x = queue.popleft()
-        for i in family_tree[x]:
-            if not visited[i]:
-                visited[i] =1
-                answer[i] = answer[x] + 1
-                queue.append(i)
-
-
-bfs(a)
-if answer[b] != 0:
-    print(answer[b])
-else:
-    print(-1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2665.py b/Python_BOJ_2021/2665.py
deleted file mode 100644
index 49c6e5c..0000000
--- a/Python_BOJ_2021/2665.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# 미로 만들기
-import heapq, sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [list(map(int, input())) for _ in range(n)]
-
-for i in range(n):
-    for j in range(n):
-        if arr[i][j] == 0:
-            arr[i][j] = 1
-        else:
-            arr[i][j] = 0
-
-INF = sys.maxsize
-dist = [[INF] * n for _ in range(n)]
-heap = list()
-
-
-def dijkstra():
-    dist[0][0] = 0
-    heapq.heappush(heap, (0, 0, 0))
-
-    while heap:
-        cost, row, col = heapq.heappop(heap)
-
-        if dist[row][col] < cost:
-            continue
-
-        for dx, dy in (-1, 0), (1, 0), (0, -1), (0, 1):
-            n_row = row + dx
-            n_col = col + dy
-
-            if 0 <= n_row < n and 0 <= n_col < n:
-                n_cost = cost + arr[n_row][n_col]
-
-                if n_cost < dist[n_row][n_col]:
-                    heapq.heappush(heap, (n_cost, n_row, n_col))
-                    dist[n_row][n_col] = n_cost
-
-
-dijkstra()
-print(dist[n-1][n-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2667.py b/Python_BOJ_2021/2667.py
deleted file mode 100644
index 276900f..0000000
--- a/Python_BOJ_2021/2667.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# 단지번호붙이기
-
-n = int(input())
-
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * n for _ in range(n)]
-
-dx = [-1, 1, 0, 0]
-dy = [0, 0, 1, -1]
-
-
-def dfs (x, y):
-    visited[x][y] = 1
-    global nums
-
-    if graph[x][y] == 1:
-        nums += 1
-
-    for i in range(4):
-        nx = x + dx[i]
-        ny = y + dy[i]
-
-        if 0 <= nx < n and 0 <= ny < n:
-            if visited[nx][ny] == 0 and graph[nx][ny] == 1:
-                dfs(nx, ny)
-
-
-numlist = []
-nums = 0
-
-for a in range(n):
-    for b in range(n):
-        if graph[a][b] == 1 and visited[a][b] == 0:
-            dfs(a, b)
-            numlist.append(nums)
-            nums = 0
-
-print(len(numlist))
-
-for n in sorted(numlist):
-    print(n)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2667_2.py b/Python_BOJ_2021/2667_2.py
deleted file mode 100644
index a88827e..0000000
--- a/Python_BOJ_2021/2667_2.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# 단지번호붙이기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-sys.setrecursionlimit(100001)
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n = int(input())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * n for _ in range(n)]
-cnt = 0
-
-
-def dfs(x, y, num):
-    global cnt
-    visited[x][y] = 1
-
-    if graph[x][y] == 1:
-        cnt += 1
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if graph[nx][ny] == 1 and not visited[nx][ny]:
-                dfs(nx, ny, num)
-                visited[nx][ny] = 1
-
-arr = []
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 1 and not visited[i][j]:
-            dfs(i, j, 1)
-            arr.append(cnt)
-            cnt = 0
-
-print(len(arr))
-arr.sort()
-for i in arr:
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2671.py b/Python_BOJ_2021/2671.py
deleted file mode 100644
index 718cb00..0000000
--- a/Python_BOJ_2021/2671.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 잠수함식별
-import re, sys
-
-p = re.compile("(100+1+|01)+")
-s = sys.stdin.readline().rstrip()
-
-m = p.fullmatch(s)
-if (m == None):
-    print('NOISE')
-else:
-    if(m.end() ==len(s)):
-        print('SUBMARINE')
-    else:
-        print('NOISE')
-
diff --git a/Python_BOJ_2021/2675.py b/Python_BOJ_2021/2675.py
deleted file mode 100644
index b0d222a..0000000
--- a/Python_BOJ_2021/2675.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 문자열 반복
-
-T = int(input())
-
-for i in range(T):
-    R, S = input().split(' ')
-    R = int(R)
-    S = list(S)
-
-    memory = []
-    for j in range(len(S)):
-        for k in range(R):
-            memory.append(S[j])
-
-    print(str.join('', memory))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2693.py b/Python_BOJ_2021/2693.py
deleted file mode 100644
index 71f2f6e..0000000
--- a/Python_BOJ_2021/2693.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# N번째 큰 수
-
-for _ in range(int(input())):
-    arr = list(map(int, input().split()))
-    arr.sort(reverse=True)
-    print(arr[2])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2711.py b/Python_BOJ_2021/2711.py
deleted file mode 100644
index 08371ed..0000000
--- a/Python_BOJ_2021/2711.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 오타맨 고창영
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    ans = list()
-    a = list(map(str, input().split()))
-    for i in range(len(a[1])):
-        if i == int(a[0]) - 1:
-            pass
-        else:
-            ans.append(a[1][i])
-
-    print(''.join(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2712.py b/Python_BOJ_2021/2712.py
deleted file mode 100644
index c630dbf..0000000
--- a/Python_BOJ_2021/2712.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 미국 스타일
-import sys
-input = lambda : sys.stdin.readline()
-
-for _ in range(int(input())):
-    a, b = map(str, input().split())
-    if b == 'kg':
-        a = float(a) * 2.2046
-        b = 'lb'
-    elif b == 'lb':
-        a = float(a) * 0.4536
-        b = 'kg'
-    elif b == 'l':
-        a = float(a) * 0.2642
-        b = 'g'
-    else:
-        a = float(a) * 3.7854
-        b = 'l'
-    print('%.4f' %a, b)
diff --git a/Python_BOJ_2021/2720.py b/Python_BOJ_2021/2720.py
deleted file mode 100644
index ad7189d..0000000
--- a/Python_BOJ_2021/2720.py
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-
-def calc(ssum):
-    q, d, n, p = 0, 0, 0, 0
-    while ssum != 0:
-        if ssum >= 25:
-            q += ssum // 25
-            ssum %= 25
-
-        if 10 <= ssum < 25:
-            d += ssum // 10
-            ssum %= 10
-
-        if 5 <= ssum < 10:
-            n += ssum // 5
-            ssum %= 5
-
-        if 1 <= ssum < 5:
-            p += ssum // 1
-            ssum -= p
-    return q, d, n, p
-
-
-for _ in range(int(input())):
-    ssum = int(input())
-    q, d, n, p = 0, 0, 0, 0
-    while ssum != 0:
-        if ssum >= 25:
-            q += ssum // 25
-            ssum %= 25
-
-        if 10 <= ssum < 25:
-            d += ssum // 10
-            ssum %= 10
-
-        if 5 <= ssum < 10:
-            n += ssum // 5
-            ssum %= 5
-
-        if 1 <= ssum < 5:
-            p += ssum // 1
-            ssum -= p
-    print(q, d, n, p)
-
diff --git a/Python_BOJ_2021/2744.py b/Python_BOJ_2021/2744.py
deleted file mode 100644
index c1f4a8c..0000000
--- a/Python_BOJ_2021/2744.py
+++ /dev/null
@@ -1,2 +0,0 @@
-# 대소문자 바꾸기
-print(input().swapcase())
\ No newline at end of file
diff --git a/Python_BOJ_2021/2747.py b/Python_BOJ_2021/2747.py
deleted file mode 100644
index a704cca..0000000
--- a/Python_BOJ_2021/2747.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 피보나치 수
-import sys
-
-N = int(sys.stdin.readline().rstrip())
-
-arr = list(0 for _ in range(N + 1))
-arr[0] = 0
-arr[1] = 1
-
-for i in range(2, N + 1):
-    arr[i] = arr[i - 1] + arr[i - 2]
-
-print(arr[N])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2748.py b/Python_BOJ_2021/2748.py
deleted file mode 100644
index 566ab7f..0000000
--- a/Python_BOJ_2021/2748.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 피보나치 함수2
-
-import sys
-n = int(sys.stdin.readline().rstrip())
-
-d = [0] * 100
-
-def fibo(x):
-    if x == 1 or x == 2:
-        return 1
-
-    if d[x] != 0:
-        return d[x]
-    d[x] = fibo(x-1) + fibo(x-2)
-    return d[x]
-
-print(fibo(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2750.py b/Python_BOJ_2021/2750.py
deleted file mode 100644
index a7cd9ec..0000000
--- a/Python_BOJ_2021/2750.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 수 정렬하기
-import sys
-
-input = lambda : sys.stdin.readline().rstrip()
-
-ans = sorted([int(input()) for i in range(int(input()))])
-print(*ans, sep='\n')
\ No newline at end of file
diff --git a/Python_BOJ_2021/2751.py b/Python_BOJ_2021/2751.py
deleted file mode 100644
index b22b7cd..0000000
--- a/Python_BOJ_2021/2751.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 수 정렬하기 퀵솔트도 시간초과
-#
-# N = int(input())
-# arr = [int(input()) for _ in range(N)]
-#
-#
-# def quick_sort(arr):
-#     if len(arr) <= 1:
-#         return arr
-#
-#     pivot = arr[0]
-#     tail = arr[1:]
-#
-#     left_side = [x for x in tail if x <= pivot]
-#     right_side = [x for x in tail if x > pivot]
-#
-#     return quick_sort(left_side) + [pivot] + quick_sort(right_side)
-#
-#
-# print(*quick_sort(arr), sep='\n')
-
-import sys
-
-ans = sorted([int(sys.stdin.readline().rstrip()) for i in range(int(sys.stdin.readline().rstrip()))])
-print(*ans, sep='\n')
\ No newline at end of file
diff --git a/Python_BOJ_2021/2753.py b/Python_BOJ_2021/2753.py
deleted file mode 100644
index 3498eb5..0000000
--- a/Python_BOJ_2021/2753.py
+++ /dev/null
@@ -1,6 +0,0 @@
-year = int(input())
-
-if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
-    print('1')
-else:
-    print('0')
\ No newline at end of file
diff --git a/Python_BOJ_2021/2754.py b/Python_BOJ_2021/2754.py
deleted file mode 100644
index 543428a..0000000
--- a/Python_BOJ_2021/2754.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 학점계산
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = dict()
-for _ in range(int(input())):
-    s = input()
-    if s in arr:
-        arr[s] += 1
-    else:
-        arr[s] = 1
-
-arr = sorted(arr.items(), key = lambda x: (-x[1], x[0]))
-print(arr[0][0])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2775.py b/Python_BOJ_2021/2775.py
deleted file mode 100644
index 2c20e25..0000000
--- a/Python_BOJ_2021/2775.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 부녀회장이 될테야
-
-T = int(input())
-
-for i in range(T):
-    a = int(input())
-    b = int(input())
-    people = [i for i in range(1, b+1)] # 0 floor
-
-    for _ in range(a):
-        for room_num in range(1, b):
-            people[room_num] += people[room_num - 1]
-    print(people[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/2789.py b/Python_BOJ_2021/2789.py
deleted file mode 100644
index f975989..0000000
--- a/Python_BOJ_2021/2789.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 유학 금지
-
-pw = "CAMBRIDGE"
-s = input()
-ans = ''
-for i in range(len(s)):
-    if s[i] in pw:
-        continue
-    else:
-        ans += s[i]
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2798.py b/Python_BOJ_2021/2798.py
deleted file mode 100644
index 0e31ca9..0000000
--- a/Python_BOJ_2021/2798.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 블랙잭
-
-N, M = map(int, input().split())
-Cards = list(map(int, input().split()))
-
-ans = 0
-
-for i in range(N-2):
-    for j in range(i+1, N-1):
-        for k in range(j+1, N):
-            total = Cards[i] + Cards[j] + Cards[k]
-
-            if total <= M:
-                ans = max(total, ans)
-                
-print(ans)
diff --git a/Python_BOJ_2021/2798_2.py b/Python_BOJ_2021/2798_2.py
deleted file mode 100644
index 3645ad4..0000000
--- a/Python_BOJ_2021/2798_2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-
-sum, ans = 0, -123456789
-for i in range(n - 2):
-    for j in range(i + 1, n - 1):
-        for k in range(j + 1, n):
-            sum = arr[i] + arr[j] + arr[k]
-            if sum <= m:
-                ans = max(ans, sum)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2798_3.py b/Python_BOJ_2021/2798_3.py
deleted file mode 100644
index ca7b1df..0000000
--- a/Python_BOJ_2021/2798_3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-n, m = map(int,input().split())
-card = list(map(int, input().split()))
-ans = -123456789
-
-for i in range(n):
-    for j in range(i + 1, n):
-        for k in range(j + 1, n):
-            tmp = card[i] + card[j] + card[k]
-            if tmp <= m:
-                ans = max(ans, tmp)
-print(ans)
diff --git a/Python_BOJ_2021/2800.py b/Python_BOJ_2021/2800.py
deleted file mode 100644
index 3acd6b6..0000000
--- a/Python_BOJ_2021/2800.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 괄호 제거
-from itertools import combinations
-import sys
-
-s = list(input())
-print(s)
-
-p, idx = [], []
-for i, val in enumerate(s):
-    if val == '(':
-        s[i] = ''
-        p += [i]
-    if val == ')':
-        s[i] = ''
-        idx += [[p.pop(), i]]
-
-print(p)
-print(idx)
-out = set()
-
-for i in range(len(idx)):
-    for j in combinations(idx, i):
-        print(j)
-        p = s[:]
-        for v, w in j:
-            p[v] = '('
-            p[w] = ')'
-        out.add(''.join(p))
-
-for i in sorted(out):
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2804.py b/Python_BOJ_2021/2804.py
deleted file mode 100644
index 225cc07..0000000
--- a/Python_BOJ_2021/2804.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 크로스워즈 만들기
-
-a, b = map(str,input().split())
-arr = [['.'] * len(a) for _ in range(len(b))]
-
-tmp = list() # 겹치는 부분 찾기
-for i in range(len(a)):
-    for j in range(len(b)):
-        if a[i] == b[j]:
-            tmp.append([i, j])
-
-# 맨 앞은 tmp[0][0], tmp[0][1] = 1, 4
-for i in range(len(a)):
-    arr[tmp[0][1]][i] = a[i]
-
-for j in range(len(b)):
-    arr[j][tmp[0][0]] = b[j]
-
-# 출력
-for i in range(len(b)):
-    print(''.join(arr[i]))
diff --git a/Python_BOJ_2021/2805.py b/Python_BOJ_2021/2805.py
deleted file mode 100644
index e95745d..0000000
--- a/Python_BOJ_2021/2805.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 나무 자르기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-tree = list(map(int, input().split()))
-
-result = 0
-
-def binary_search(arr, target, start, end):
-    while start <= end:
-        total = 0
-        mid = (start + end) // 2
-        for x in arr:
-            if x > mid:
-                total += x - mid
-
-        if total < target:
-            end = mid - 1
-        else:
-            result = mid
-            start = mid + 1
-
-    return result
-
-
-print(binary_search(tree, m, 0, max(tree)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2810.py b/Python_BOJ_2021/2810.py
deleted file mode 100644
index bf4a1d1..0000000
--- a/Python_BOJ_2021/2810.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 컵홀더
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(input().upper())
-
-ans = ['*']
-
-for c in arr:
-    if c == 'S':
-        ans.append(c)
-        ans.append('*')
-
-    elif c == 'L':
-        if ans[-1] == 'L':
-            ans.append(c)
-            ans.append('*')
-        else:
-            ans.append(c)
-
-n_couple = ans.count('*')
-
-if n < n_couple:
-    print(n)
-else:
-    print(n_couple)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2812.py b/Python_BOJ_2021/2812.py
deleted file mode 100644
index a7ffdaa..0000000
--- a/Python_BOJ_2021/2812.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 크게 만들기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, k = map(int, input().split())
-input_tmp = list(input())
-stack = []
-cnt = 0
-
-for i in range(n):
-    while stack and cnt < k and stack[-1] < input_tmp[i]:
-        stack.pop()
-        k -= 1
-    stack.append(input_tmp[i])
-
-while cnt < k:
-    stack.pop()
-    k -= 1
-
-for i in range(len(stack)):
-    print(stack[i], end='')
-
-
-'''
-6 2
-362514
-'''
\ No newline at end of file
diff --git a/Python_BOJ_2021/2816.py b/Python_BOJ_2021/2816.py
deleted file mode 100644
index f02ffa0..0000000
--- a/Python_BOJ_2021/2816.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 디지털 티비
-
-import sys
-
-n = int(sys.stdin.readline().rstrip())
-
-channels = [sys.stdin.readline().rstrip() for _ in range(n)]
-
-
-for i in range(n):
-    if channels[i] == 'KBS1':
-        idx1 = i
-    elif channels[i] == 'KBS2':
-        idx2 = i
-
-
-if idx1 > idx2:
-    idx2 += 1
-
-print('1' * idx1 + '4' * idx1 + '1' * idx2 + '4' * (idx2-1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2828.py b/Python_BOJ_2021/2828.py
deleted file mode 100644
index d8ca4f6..0000000
--- a/Python_BOJ_2021/2828.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 사과 담기 게임
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-j = int(input())
-apples = [int(input()) for _ in range(j)]
-
-basket_size = m - 1
-basket_left = 1
-basket_right = basket_left + basket_size
-ans = 0
-
-for i in apples:
-    if basket_left <= i <= basket_right:
-        continue
-
-    if i < basket_left:
-        ans += abs(basket_left - i)
-        basket_left = i
-        basket_right = i + basket_size
-
-    elif i > basket_right:
-        ans += abs(i - basket_right)
-        basket_left = i - basket_size
-        basket_right = i
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2839.py b/Python_BOJ_2021/2839.py
deleted file mode 100644
index 853f136..0000000
--- a/Python_BOJ_2021/2839.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 설탕 배달
-
-n = int(input())
-ans = 0
-
-while 1:
-    if n % 5 == 0:
-        ans = ans + (n//5)
-        print(ans)
-        break
-    n = n - 3
-    ans += 1
-    if n < 0:
-        print(-1)
-        break
\ No newline at end of file
diff --git a/Python_BOJ_2021/2841.py b/Python_BOJ_2021/2841.py
deleted file mode 100644
index e3d8e6f..0000000
--- a/Python_BOJ_2021/2841.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 외계인의 기타 연주
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-line = [[] for _ in range(7)] # 1~6번줄의 음계를 저장할 스택
-n, p = map(int, input().split())
-cnt = 0
-
-for _ in range(n):
-    string, pret = map(int, input().split())
-
-    if len(line[string]) == 0: # 줄의 음계가 비어있다면
-        line[string].append(pret) # 프렛 값을 푸시하고 cnt++
-        cnt += 1
-
-    else: # 줄에 음계가 있다면
-        if line[string][-1] < pret: #peek값과 프렛을 비교하여 들어갈 프렛 값이 크면
-            line[string].append(pret) # 그 값을 push후 cnt++
-            cnt += 1
-        elif line[string][-1] > pret: #만약 peek값보다 작다면
-            while line[string]: #일단 와일로 돌려서 pop을 해줘야한다
-                if line[string][-1] < pret or line[string][-1] == pret: break
-                #언제까지? 프렛값이 peek보다 클때나 혹은 같을 때까지
-                line[string].pop()
-                cnt += 1
-            if len(line[string]) and line[string][-1] == pret: continue # 만약 값이 같으면 push하지 말고 스킵
-            line[string].append(pret) # 프렛값이 peek값보다 크다면 push후 cnt++
-            cnt += 1
-        elif line[string][-1] == pret: # peek값과 프렛값이 같으면 스킵
-            continue
-
-print(cnt) # 답 출력
\ No newline at end of file
diff --git a/Python_BOJ_2021/2847.py b/Python_BOJ_2021/2847.py
deleted file mode 100644
index adae697..0000000
--- a/Python_BOJ_2021/2847.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 게임을 만든 동준이
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [int(input()) for _ in range(n)]
-ans = 0
-
-for i in range(n-1, 0, -1):
-    if arr[i] <= arr[i-1]:
-        ans += arr[i-1] - arr[i] + 1
-        arr[i-1] = arr[i] - 1
-
-print(ans)
-
-
-
diff --git a/Python_BOJ_2021/2865.py b/Python_BOJ_2021/2865.py
deleted file mode 100644
index 378c6ef..0000000
--- a/Python_BOJ_2021/2865.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 나는 위대한 슈퍼스타 K
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m, k = map(int, input().split())
-arr = dict()
-
-for i in range(m):
-    put = input().split()
-    for i in range(0, len(put), 2):
-        arr[int(put[i])] = max(float(put[i+1]), arr.get(int(put[i]), 0))
-
-print("%.1f" %sum(e for e in sorted(list(arr.values()), reverse=True)[0:k]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2868.py b/Python_BOJ_2021/2868.py
deleted file mode 100644
index e6875e8..0000000
--- a/Python_BOJ_2021/2868.py
+++ /dev/null
@@ -1,10 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-r, b = map(int, input().split())
-
-for i in range(3, 2000):
-    for j in range(3, i + 1):
-        tmp = (i * 2) + (j - 2) * 2
-        if r == tmp and b == (i * j) - tmp:
-            print(i, j)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2869.py b/Python_BOJ_2021/2869.py
deleted file mode 100644
index c3edb66..0000000
--- a/Python_BOJ_2021/2869.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# 달팽이는 올라가고 싶다
-'''
-IDEA
-day 1 2m - 1m : 1m
-day 2 (1m+2m) - 1m : 2m
-day 3 (2m+2m) - 1m : 3m
-day 4 (3m+2m) - 1m : 5m end
-
-Recursive
-
-'''
-
-
-
-A, B, V = map(int, input().split())
-
-height = 0
-
-calc = (V-B)/(A-B)
-
-if V == 0:
-    print('0')
-else:
-    if calc == int(calc):
-        print(int(calc))
-    else:
-        print(int(calc)+1)
-
-
-
-'''
-A, B, V = map(int, input().split())
-
-height = A - B
-day = 0
-
-while True:
-    height = (height + A) - B
-    day += 1
-    if V == height:
-        break
-print(day)
-
-제한시간이 0.15초
-와일문, 부등호 비교가 있으면 안됨
-입력받은 순간 답이 나와야된다.
-'''
-
diff --git a/Python_BOJ_2021/2872.py b/Python_BOJ_2021/2872.py
deleted file mode 100644
index eed610c..0000000
--- a/Python_BOJ_2021/2872.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 우리집엔 도서관이 있어
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [int(input()) for _ in range(n)]
-ans = n
-
-for i in range(n-1, -1, -1):
-    if arr[i] == ans:
-        ans -= 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2891.py b/Python_BOJ_2021/2891.py
deleted file mode 100644
index b2c301f..0000000
--- a/Python_BOJ_2021/2891.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 카약과 강풍
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, s, r = map(int, input().split())
-
-damage_team = list(map(int, input().split()))
-spare_team = list(map(int, input().split()))
-team = [1 for _ in range(n+1)]
-
-for i in range(s): team[damage_team[i]-1] -= 1
-for j in range(r): team[spare_team[j]-1] += 1
-for k in range(n):
-    if team[k] == 0:
-        if k == 0 and team[1] == 2:
-            team[1] -= 1
-            team[0] += 1
-        elif k == n and team[k-1] == 2:
-            team[k-1] -= 1
-            team[k] += 1
-        else:
-            if team[k-1] == 2:
-                team[k-1] -= 1
-                team[k] += 1
-            elif team[k+1] == 2:
-                team[k+1] -= 1
-                team[k] += 1
-
-print(team.count(0))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2902.py b/Python_BOJ_2021/2902.py
deleted file mode 100644
index 2692897..0000000
--- a/Python_BOJ_2021/2902.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# KMP는 왜 KMP일까?
-import sys
-s = sys.stdin.readline().rstrip().split('-')
-
-for i in range(len(s)): print(s[i][0], end='')
\ No newline at end of file
diff --git a/Python_BOJ_2021/2908.py b/Python_BOJ_2021/2908.py
deleted file mode 100644
index 13177ed..0000000
--- a/Python_BOJ_2021/2908.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 상수
-
-a, b = input().split()
-
-a = a[::-1]
-b = b[::-1]
-
-if a > b:
-    print(a)
-else:
-    print(b)
diff --git a/Python_BOJ_2021/2910.py b/Python_BOJ_2021/2910.py
deleted file mode 100644
index 7e2f3d9..0000000
--- a/Python_BOJ_2021/2910.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 빈도 정렬
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, c = map(int, input().split())
-arr = list(map(int, input().split()))
-cnt = {}
-
-for i in range(n):
-    if arr[i] in cnt:
-        cnt[arr[i]][0] += 1
-    else:
-        cnt[arr[i]] = [1, i]
-print(cnt)
-res = sorted(cnt.items(), key=lambda x: (-x[1][0], x[1][1]))
-ans = []
-for i in res:
-    for j in range(i[1][0]):
-        ans.append(str(i[0]))
-print(' '.join(ans))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2935.py b/Python_BOJ_2021/2935.py
deleted file mode 100644
index c5711a4..0000000
--- a/Python_BOJ_2021/2935.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 소음
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = list()
-for i in range(3):
-    arr.append(input())
-
-if arr[1] == '*':
-    print(int(arr[0]) * int(arr[2]))
-elif arr[1] == '+':
-    print(int(arr[0]) + int(arr[2]))
diff --git a/Python_BOJ_2021/2941-2.py b/Python_BOJ_2021/2941-2.py
deleted file mode 100644
index 3468d0b..0000000
--- a/Python_BOJ_2021/2941-2.py
+++ /dev/null
@@ -1,8 +0,0 @@
-alpha = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
-
-a = input()
-
-for i in alpha:
-    a = a.replace(i, '.')
-print(a)
-print(len(a))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2941.py b/Python_BOJ_2021/2941.py
deleted file mode 100644
index 74a541d..0000000
--- a/Python_BOJ_2021/2941.py
+++ /dev/null
@@ -1,7 +0,0 @@
-n = input()
-
-list_word = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z=']
-
-for i in list_word:
-    n = n.replace(i, '.')
-print(len(n))
\ No newline at end of file
diff --git a/Python_BOJ_2021/2953.py b/Python_BOJ_2021/2953.py
deleted file mode 100644
index c7afbb7..0000000
--- a/Python_BOJ_2021/2953.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 나는 요리사다
-import sys
-
-arr, ans, ans_idx = [0] * 5, 0, 0
-
-for i in range(5):
-    score = list(map(int, sys.stdin.readline().rstrip().split()))
-    arr[i] = sum(score)
-
-for i in range(5):
-    if ans < arr[i]:
-        ans = arr[i]
-        ans_idx = i + 1
-
-print(ans_idx, end=' ')
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/2954.py b/Python_BOJ_2021/2954.py
deleted file mode 100644
index a527605..0000000
--- a/Python_BOJ_2021/2954.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 창영이의 일기장
-s, p, i = input(), "aeiou", 0
-while i < len(s):
-    print(s[i], end='')
-    if p.find(s[i]) > -1:
-        i += 2
-    i += 1
diff --git a/Python_BOJ_2021/2966.py b/Python_BOJ_2021/2966.py
deleted file mode 100644
index 76f7f76..0000000
--- a/Python_BOJ_2021/2966.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# 찍기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-ans = input()
-
-sang_keun = ['A', 'B', 'C']
-chang_young = ['B', 'A', 'B', 'C']
-hyun_jin = ['C', 'C', 'A', 'A', 'B', 'B']
-
-nick_name = ['Adrian', 'Bruno', 'Goran']
-answer_cnt = [0] * 3
-
-for i in range(len(ans)):
-    if i >= len(sang_keun):
-        if sang_keun[i % len(sang_keun)] == ans[i]:
-            answer_cnt[0] += 1
-    else:
-        if sang_keun[i] == ans[i]:
-            answer_cnt[0] += 1
-
-for i in range(len(ans)):
-    if i >= len(chang_young):
-        if chang_young[i % len(chang_young)] == ans[i]:
-            answer_cnt[1] += 1
-    else:
-        if chang_young[i] == ans[i]:
-            answer_cnt[1] += 1
-
-for i in range(len(ans)):
-    if i >= len(hyun_jin):
-        if hyun_jin[i % len(hyun_jin)] == ans[i]:
-            answer_cnt[2] += 1
-    else:
-        if hyun_jin[i] == ans[i]:
-            answer_cnt[2] += 1
-
-
-max_val = max(answer_cnt)
-print(max_val)
-
-for i in range(3):
-    if max_val == answer_cnt[i]:
-        print(nick_name[i])
diff --git a/Python_BOJ_2021/2999.py b/Python_BOJ_2021/2999.py
deleted file mode 100644
index 97cc51d..0000000
--- a/Python_BOJ_2021/2999.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 비밀 이메일
-
-a = list(map(str,input()))
-a_len = len(a)
-R, C = 0, 0
-
-for i in range(1, a_len + 1):
-    if a_len % i == 0 and i <= a_len // i:
-        R = max(R, i)
-        C = a_len // R
-
-arr = [['.'] * C for _ in range(R)]
-
-idx = 0
-
-for j in range(C):
-    for i in range(R):
-        arr[i][j] = a[idx]
-        idx += 1
-
-for i in range(R):
-    for j in range(C):
-        print(arr[i][j], end='')
diff --git a/Python_BOJ_2021/2999_2.py b/Python_BOJ_2021/2999_2.py
deleted file mode 100644
index 551faad..0000000
--- a/Python_BOJ_2021/2999_2.py
+++ /dev/null
@@ -1,24 +0,0 @@
-import sys
-n = list(map(str, sys.stdin.readline().rstrip()))
-
-text_len = len(n)
-
-R, C = 0, 0
-tmp = list()
-
-for i in range(1, text_len + 1):
-    if text_len % i == 0 and i <= text_len // i:
-        R = max(R, i)
-        C = text_len // R
-
-arr = [['.'] * C for _ in range(R)]
-idx = 0
-
-for i in range(C):
-    for j in range(R):
-        arr[j][i] = n[idx]
-        idx += 1
-
-for i in range(R):
-    for j in range(C):
-        print(''.join(arr[i][j]), end='')
\ No newline at end of file
diff --git a/Python_BOJ_2021/3009.py b/Python_BOJ_2021/3009.py
deleted file mode 100644
index e251bcd..0000000
--- a/Python_BOJ_2021/3009.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 네 번째 점
-
-x = []
-y = []
-
-for _ in range(3):
-    a, b = map(int, input().split())
-    x.append(a)
-    y.append(b)
-
-x.sort()
-y.sort()
-
-if x.count(x[2]) == 1:
-    print(x[2], end='')
-elif x.count(x[0]) == 1:
-    print(x[0], end='')
-
-if y.count(y[2]) == 1:
-    print("", y[2])
-elif y.count(y[0]) == 1:
-    print("", y[0])
\ No newline at end of file
diff --git a/Python_BOJ_2021/3028.py b/Python_BOJ_2021/3028.py
deleted file mode 100644
index 6c80a81..0000000
--- a/Python_BOJ_2021/3028.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 창영마을
-import sys
-arr = [0] * 3
-arr[0] = 1
-
-
-def shuffle_a(arr):
-    arr[0], arr[1] = arr[1], arr[0]
-    return arr
-
-
-def shuffle_b(arr):
-    arr[1], arr[2] = arr[2], arr[1]
-    return arr
-
-
-def shuffle_c(arr):
-    arr[0], arr[2] = arr[2], arr[0]
-    return arr
-
-
-s = sys.stdin.readline().rstrip()
-for i in range(len(s)):
-    if s[i] == 'A': shuffle_a(arr)
-    elif s[i] == 'B': shuffle_b(arr)
-    else: shuffle_c(arr)
-
-for i in range(len(arr)):
-    if arr[i] == 1:
-        print(i + 1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3035.py b/Python_BOJ_2021/3035.py
deleted file mode 100644
index 7fffedb..0000000
--- a/Python_BOJ_2021/3035.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 스캐너
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-r, c, zr, zc = map(int, input().split())
-arr = [input() for _ in range(r)]
-
-for s in arr:
-    s = ''.join(char * zc for char in s)
-    for _ in range(zr):
-        print(s)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3046.py b/Python_BOJ_2021/3046.py
deleted file mode 100644
index 74c0b06..0000000
--- a/Python_BOJ_2021/3046.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# R2
-
-r1, s = map(int, input().split())
-print(2 * s - r1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3048.py b/Python_BOJ_2021/3048.py
deleted file mode 100644
index 6904635..0000000
--- a/Python_BOJ_2021/3048.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-ant1, ant2 = map(int, input().split())
-ant1_list = list(str(input()))
-ant2_list = list(str(input()))
-T = int(input())
-
-ant1_list.reverse()
-ant = ant1_list + ant2_list
-
-for t in range(T):
-    swap = list()
-    for i in range(1, len(ant)):
-        if ant[i] in ant2_list:
-            if ant[i - 1] in ant1_list:
-                swap.append(i)
-
-    for j in swap:
-        ant[j], ant[j - 1] = ant[j - 1], ant[j]
-
-ans = ''
-for i in ant:
-    ans += i
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3052.py b/Python_BOJ_2021/3052.py
deleted file mode 100644
index 536fd2e..0000000
--- a/Python_BOJ_2021/3052.py
+++ /dev/null
@@ -1,11 +0,0 @@
-arr = [int(input()) for _ in range(10)]
-num = [0] * 42
-
-for i in range(10):
-    num[arr[i] % 42] += 1
-
-ans = 0
-for i in num:
-    if i != 0:
-        ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3053.py b/Python_BOJ_2021/3053.py
deleted file mode 100644
index 59c0790..0000000
--- a/Python_BOJ_2021/3053.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 택시 기하학
-
-import math
-
-R = int(input())
-
-Uclid_Circle = math.pi * R ** 2
-Taxi_Circle = 2 * R * R
-
-print(Uclid_Circle)
-print(Taxi_Circle)
diff --git a/Python_BOJ_2021/3055.py b/Python_BOJ_2021/3055.py
deleted file mode 100644
index 993d92e..0000000
--- a/Python_BOJ_2021/3055.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# 탈출
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n, m = map(int ,input().split())
-graph = [list(map(str, input())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-queue, w_queue = deque(), deque()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def water():
-    wq_len = len(w_queue)
-    while wq_len:
-        x, y = w_queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == '.':
-                    graph[nx][ny] = '*'
-                    w_queue.append([nx, ny])
-        wq_len -= 1
-
-
-def bfs(x, y):
-    queue.append([x, y])
-    visited[x][y] = 1
-    while queue:
-        q_len = len(queue)
-        while q_len:
-            x, y = queue.popleft()
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-                if 0 <= nx < n and 0 <= ny < m:
-                    if graph[nx][ny] == '.' and not visited[nx][ny]:
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append([nx, ny])
-                    elif graph[nx][ny] == 'D':
-                        print(visited[x][y])
-                        return
-            q_len -= 1
-        water()
-    print('KAKTUS')
-    return
-
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 'S':
-            x1, y1 = i, j
-            graph[i][j] = '.'
-        elif graph[i][j] == '*':
-            w_queue.append([i, j])
-
-water()
-bfs(x1, y1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3061.py b/Python_BOJ_2021/3061.py
deleted file mode 100644
index d460bb5..0000000
--- a/Python_BOJ_2021/3061.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 사다리
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    n = int(input())
-    arr = list(map(int, input().split()))
-    cnt = 0
-
-    for j in range(n):
-        for i in range(j):
-            if arr[i] > arr[j]:
-                cnt += 1
-    print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3076.py b/Python_BOJ_2021/3076.py
deleted file mode 100644
index 24acb5c..0000000
--- a/Python_BOJ_2021/3076.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 상근이의 체스판
-
-r, c = map(int, input().split())
-a, b = map(int, input().split())
-
-for i in range(r):
-    for _ in range(a):
-        for j in range(c):
-            print('.' * b if (i + j) % 2 else 'X' * b, end='')
-        print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/3078.py b/Python_BOJ_2021/3078.py
deleted file mode 100644
index 751f768..0000000
--- a/Python_BOJ_2021/3078.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 좋은 친구
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, k = map(int, input().split())
-arr = list(input() for _ in range(n))
-
-dp = [0] * 21
-answer = 0
-
-for i in range(n):
-    l = len(arr[i])
-    arr[i] = l
-    if i > k:
-        dp[arr[i - k - 1]] -= 1
-    answer += dp[l]
-    dp[l] += 1
-
-print(answer)
-
-# answer = 0
-# while arr:
-#     a = arr.popleft()
-#     length = len(a)
-#     if len(arr) >= k:
-#         for i in range(k):
-#             if length == len(arr[i]):
-#                 answer += 1
-#     else:
-#         if len(arr) == 0: break
-#         if len(arr.popleft()) == length:
-#             answer += 1
-# print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3085.py b/Python_BOJ_2021/3085.py
deleted file mode 100644
index c7ff04c..0000000
--- a/Python_BOJ_2021/3085.py
+++ /dev/null
@@ -1,54 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [list(map(str, input())) for _ in range(n)]
-res = 0
-
-
-def check(arr):
-    cnt = 0
-
-    for i in range(n):
-        cnt_row, cnt_col = 1, 1
-        for j in range(n - 1):
-            if arr[i][j] == arr[i][j + 1]:
-                cnt_row += 1
-            else:
-                cnt = max(cnt, cnt_row)
-                cnt_row = 1
-
-            if arr[j][i] == arr[j + 1][i]:
-                cnt_col += 1
-            else:
-                cnt = max(cnt, cnt_col)
-                cnt_col = 1
-        cnt = max(cnt, cnt_col, cnt_row)
-    return cnt
-
-
-for i in range(n):
-    for j in range(n - 1):
-        if arr[i][j] != arr[i][j + 1]: # row
-            tmp = arr[i][j]
-            arr[i][j] = arr[i][j + 1]
-            arr[i][j + 1] = tmp
-
-            res = max(res, check(arr))
-
-            tmp = arr[i][j]
-            arr[i][j] = arr[i][j + 1]
-            arr[i][j + 1] = tmp
-
-        if arr[j][i] != arr[j + 1][i]: # col
-            tmp = arr[j][i]
-            arr[j][i] = arr[j + 1][i]
-            arr[j + 1][i] = tmp
-
-            res = max(res, check(arr))
-
-            tmp = arr[j][i]
-            arr[j][i] = arr[j + 1][i]
-            arr[j + 1][i] = tmp
-
-print(res)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3184.py b/Python_BOJ_2021/3184.py
deleted file mode 100644
index 6840749..0000000
--- a/Python_BOJ_2021/3184.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 양
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-r, c = map(int, input().split())
-graph = [list(input()) for _ in range(r)]
-visited = [[0] * c for _ in range(r)]
-
-wolf, sheep = 0, 0
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(x, y, animal):
-    global wolf, sheep
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 1
-    w, s = 0, 0
-
-    if animal == 'v': w += 1
-    elif animal == 'o': s += 1
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < r and 0 <= ny < c and not visited[nx][ny]:
-                if graph[nx][ny] != '#':
-                    visited[nx][ny] = 1
-                    queue.append((nx, ny))
-
-                    if graph[nx][ny] == 'v': w += 1
-                    elif graph[nx][ny] == 'o': s += 1
-
-    if w >= s: wolf += w
-    elif s > w: sheep += s
-
-
-for i in range(r):
-    for j in range(c):
-        if graph[i][j] != '#' and not visited[i][j]:
-            bfs(i, j, graph[i][j])
-
-print(sheep, wolf)
\ No newline at end of file
diff --git a/Python_BOJ_2021/3187.py b/Python_BOJ_2021/3187.py
deleted file mode 100644
index feec1a5..0000000
--- a/Python_BOJ_2021/3187.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 양치기 꿍
-import sys
-sys.setrecursionlimit(1000001)
-r, c = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(r)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-wolf, sheep = 0, 0
-
-
-def eat_dfs(x, y):
-    global wolf, sheep
-    if graph[x][y] == 'v':
-        wolf += 1
-    elif graph[x][y] == 'k':
-        sheep += 1
-    graph[x][y] = '#'
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < r and 0 <= ny < c:
-            if graph[nx][ny] != '#':
-                eat_dfs(nx, ny)
-
-
-result = [0, 0]
-for i in range(r):
-    for j in range(c):
-        if graph[i][j] != '#':
-            sheep, wolf = 0, 0
-            eat_dfs(i, j)
-
-            if sheep > wolf:
-                result[0] += sheep
-            else:
-                result[1] += wolf
-
-print(result[0], result[1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/3190.py b/Python_BOJ_2021/3190.py
deleted file mode 100644
index 10c175f..0000000
--- a/Python_BOJ_2021/3190.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# 뱀
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-k = int(input())
-graph = [[0] * n for _ in range(n)]
-for _ in range(k):
-    a, b = map(int, input().split())
-    graph[a-1][b-1] = 1
-
-l = int(input())
-times = {}
-for i in range(l):
-    x, c = input().split()
-    times[int(x)] = c
-
-
-dx, dy = [0, 1, 0, -1], [-1, 0, 1, 0] # 상 우 하 좌 CW로 방향 설정
-
-
-def change(d, c): # 상 우 하 좌로 돌아가야됨
-    if c == 'L': # CCW : -1 >> 상 좌 하 우 상
-        d = (d - 1) % 4
-    else: # CW : +1 >> 상 우 하 좌 상
-        d = (d + 1) % 4
-    return d
-
-
-def bfs():
-    direction = 1
-    time = 1
-    x, y = 0, 0
-
-    visited = deque() # 방문 위치
-    visited.append([x, y])
-    graph[x][y] = 2
-
-    while True:
-        x, y = x + dx[direction], y + dy[direction]
-
-        if 0 <= x < n and 0 <= y < n and graph[x][y] != 2:
-            if graph[x][y] == 0:  # 사과가 없는 경우
-                tmp_x, tmp_y = visited.popleft()
-                graph[tmp_x][tmp_y] = 0  # 뱀 꼬리 제거
-
-            graph[x][y] = 2
-            visited.append([x, y])
-
-            if time in times.keys():
-                direction = change(direction, times[time])
-            time += 1
-
-        else:
-            return time
-
-
-print(bfs())
-
-
-'''
-6
-3
-3 4
-2 5
-5 3
-3
-3 D
-15 L
-17 D
-'''
\ No newline at end of file
diff --git a/Python_BOJ_2021/3449.py b/Python_BOJ_2021/3449.py
deleted file mode 100644
index ac22beb..0000000
--- a/Python_BOJ_2021/3449.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 해밍 거리
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    a, b = input(), input()
-    ans = 0
-
-    for i in range(len(a)):
-        if a[i] != b[i]:
-            ans += 1
-
-    print(f'Hamming distance is {ans}.')
\ No newline at end of file
diff --git a/Python_BOJ_2021/3613.py b/Python_BOJ_2021/3613.py
deleted file mode 100644
index 58c2ac0..0000000
--- a/Python_BOJ_2021/3613.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# 자바 vs 씨쁠쁠
-import sys
-s = sys.stdin.readline().rstrip()
-upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-
-
-def tojava(text):
-    if text[0] == "_" or text[-1] == "_" or "__" in text:
-        return "Error!"
-
-    ans = ""
-    flag = False
-
-    for i in text:
-        if i in upper:
-            return "Error!"
-
-        if i == "_":
-            flag = True
-            continue
-
-        if flag == True:
-            ans += i.upper()
-            flag = False
-            continue
-
-        ans += i
-    return ans
-
-
-def tocpp(text):
-    if text[0] in upper:
-        return "Error!"
-
-    ans = ""
-    for i in text:
-        if i in upper:
-            ans += "_" + i.lower()
-        else:
-            ans += i
-    return ans
-
-
-if "_" in s:
-    print(tojava(s))
-else:
-    print(tocpp(s))
\ No newline at end of file
diff --git a/Python_BOJ_2021/3986.py b/Python_BOJ_2021/3986.py
deleted file mode 100644
index b533c1e..0000000
--- a/Python_BOJ_2021/3986.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 좋은 단어
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-ans = 0
-
-for _ in range(int(input())):
-    arr = []
-    s = input()
-    for i in range(len(s)):
-        if len(arr) == 0:
-            arr.append(s[i])
-        else:
-            if arr[-1] == s[i]:
-                arr.pop()
-            else:
-                arr.append(s[i])
-
-    if len(arr) == 0:
-        ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4072.py b/Python_BOJ_2021/4072.py
deleted file mode 100644
index 29f5604..0000000
--- a/Python_BOJ_2021/4072.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# Words
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-while True:
-    a = list(map(str, input().split()))
-    if a[0] == '#': break
-    ans = list()
-
-    for i in range(len(a)):
-        ans.append(a[i][::-1])
-    print(' '.join(ans))
-
diff --git a/Python_BOJ_2021/4153.py b/Python_BOJ_2021/4153.py
deleted file mode 100644
index 569c199..0000000
--- a/Python_BOJ_2021/4153.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 직각삼각형
-
-# import math
-#
-# while True:
-#     a, b, c = list(map(int, input().split()))
-#
-#     if a == 0 and b == 0 and c == 0:
-#         break
-#     else:
-#         if c == math.sqrt(a**2 + b**2):
-#             print('right')
-#         elif c != math.sqrt(a**2 + b**2):
-#             print('wrong')
-
-while True:
-    a, b, c = map(int, input().split())
-    line = []
-    line.append(a)
-    line.append(b)
-    line.append(c)
-    if a == 0 and b == 0 and c == 0:
-        break
-    else:
-        maximum = max(line)
-        line.remove(maximum)
-
-        if pow(maximum, 2) == pow(line[0], 2) + pow(line[1], 2):
-            print('right')
-        else:
-            print('wrong')
diff --git a/Python_BOJ_2021/4179.py b/Python_BOJ_2021/4179.py
deleted file mode 100644
index 9ae372d..0000000
--- a/Python_BOJ_2021/4179.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# 불 !
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-r, c = map(int, input().split())
-graph = [list(input()) for _ in range(r)]
-visited = [[0 for _ in range(c)] for _ in range(r)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def fire():
-    fqlen = len(fire_queue)
-    while fqlen:
-        x, y = fire_queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < r and 0 <= ny < c:
-                if graph[nx][ny] == '.':
-                    graph[nx][ny] = 'F'
-                    fire_queue.append((nx, ny))
-        fqlen -= 1
-
-
-def bfs(x, y):
-    queue.append((x, y))
-    visited[x][y] = 1
-    while queue:
-        qlen = len(queue)
-        while qlen:
-            x, y = queue.popleft()
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-
-                if 0 <= nx < r and 0 <= ny < c:
-                    if not visited[nx][ny] and graph[nx][ny] == '.':
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append((nx, ny))
-                elif nx < 0 or ny < 0 or nx >= r or ny >= c:
-                    print(visited[x][y])
-                    return
-            qlen -= 1
-        fire()
-    print("IMPOSSIBLE")
-    return
-
-
-queue, fire_queue = deque(), deque()
-for x in range(r):
-    for y in range(c):
-        if graph[x][y] == 'J':
-            start_x, start_y = x, y
-            graph[x][y] = '.'
-        if graph[x][y] == 'F':
-            fire_queue.append((x, y))
-
-fire()
-bfs(start_x, start_y)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4195.py b/Python_BOJ_2021/4195.py
deleted file mode 100644
index a10daf6..0000000
--- a/Python_BOJ_2021/4195.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 친구 네트워크
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-
-def find(x):
-    if x == parent[x]: return x
-    parent[x] = find(parent[x])
-    return parent[x]
-
-
-def union(x, y):
-    root_x = find(x)
-    root_y = find(y)
-    if root_x != root_y:
-        parent[root_y] = root_x
-        number[root_x] += number[root_y]
-
-
-for tc in range(int(input())):
-    parent = dict()
-    number = dict()
-    f = int(input())
-
-    for _ in range(f):
-        x, y = input().split()
-        if x not in parent:
-            parent[x] = x
-            number[x] = 1
-        if y not in parent:
-            parent[y] = y
-            number[y] = 1
-
-        union(x, y)
-
-        print(number[find(x)])
\ No newline at end of file
diff --git a/Python_BOJ_2021/4344.py b/Python_BOJ_2021/4344.py
deleted file mode 100644
index 07acb22..0000000
--- a/Python_BOJ_2021/4344.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 평균은 넘겠지
-
-C = int(input())
-
-test_case = []
-for i in range(C):
-    test_case = list(map(int, input().split()))
-    sum = 0
-    avg = 0
-    count = 0
-    # print(test_case)
-
-    for j in range(1, len(test_case)):
-        sum += test_case[j]
-        avg = sum / test_case[0]
-    # print(int(avg))
-
-    for k in range(1, len(test_case)):
-        if test_case[k] > int(avg):
-            count = count + 1
-    # print(count)
-    
-    people = count / test_case[0] * 100
-    print("%.3f%%" %people)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4458.py b/Python_BOJ_2021/4458.py
deleted file mode 100644
index 04ea08d..0000000
--- a/Python_BOJ_2021/4458.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 첫 글자를 대문자로
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = list(map(str, input()))
-    s[0] = s[0].upper()
-    print(''.join(s))
\ No newline at end of file
diff --git a/Python_BOJ_2021/4470.py b/Python_BOJ_2021/4470.py
deleted file mode 100644
index 4aa276e..0000000
--- a/Python_BOJ_2021/4470.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 줄번호
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for i in range(int(input())):
-    s = input()
-    print(f'{i + 1}. {s}')
diff --git a/Python_BOJ_2021/4485.py b/Python_BOJ_2021/4485.py
deleted file mode 100644
index 33d7283..0000000
--- a/Python_BOJ_2021/4485.py
+++ /dev/null
@@ -1,35 +0,0 @@
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-tc = 1
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs():
-    dp = [[1000000] * N for _ in range(N)]
-    visited = [[0] * N for _ in range(N)]
-    visited[0][0] = 1
-    dp[0][0] = graph[0][0]
-
-    heap = list()
-    heapq.heappush(heap, [graph[0][0], 0, 0])
-
-    while heap:
-        cost, x, y = heapq.heappop(heap)
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < N and 0 <= ny < N and not visited[nx][ny]:
-                dp[nx][ny] = min(dp[nx][ny], dp[x][y] + graph[nx][ny])
-                heapq.heappush(heap, [dp[nx][ny], nx, ny])
-                visited[nx][ny] = 1
-
-    return dp[N - 1][N - 1]
-
-
-while True:
-    N = int(input())
-    if N == 0: break
-    graph = [list(map(int, input().split())) for _ in range(N)]
-    ans = bfs()
-    print(f'Problem {tc}: {ans}')
-    tc += 1
\ No newline at end of file
diff --git a/Python_BOJ_2021/4606.py b/Python_BOJ_2021/4606.py
deleted file mode 100644
index d86129b..0000000
--- a/Python_BOJ_2021/4606.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# The Seven Percent Solution
-import sys
-
-while True:
-    a = list(map(str, sys.stdin.readline().rstrip()))
-
-    if a[0] == "#":
-        break
-
-    for i in range(len(a)):
-        if a[i] == " ":
-            a[i] = "%20"
-        elif a[i] == "!":
-            a[i] = "%21"
-        elif a[i] == "$":
-            a[i] = "%24"
-        elif a[i] == "%":
-            a[i] = "%25"
-        elif a[i] == "(":
-            a[i] = "%28"
-        elif a[i] == ")":
-            a[i] = "%29"
-        elif a[i] == "*":
-            a[i] = "%2a"
-        else:
-            continue
-
-    print(''.join(a))
\ No newline at end of file
diff --git a/Python_BOJ_2021/4659.py b/Python_BOJ_2021/4659.py
deleted file mode 100644
index 586200e..0000000
--- a/Python_BOJ_2021/4659.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# 비밀번호 발음하기
-
-moeun = ['a', 'e', 'i', 'o', 'u']
-
-while True:
-    s = input()
-    flag = True
-
-    if s == 'end': break
-
-    tmp = ''
-    cnt, cons_repeat = 0, 0
-    repeat = 0
-    for i in s:
-        if i in moeun:
-            repeat = 0
-            cnt += 1
-            cons_repeat += 1
-            if cons_repeat >= 3:
-                flag = False
-            if tmp == i:
-                if i == 'e' or i == 'o':
-                    continue
-                else:
-                    flag = False
-        else:
-            repeat += 1
-            cons_repeat = 0
-            if repeat >= 3:
-                flag = False
-            if tmp == i:
-                flag = False
-        tmp = i
-    if cnt < 1:
-        flag = False
-
-    if not flag:
-        print(f'<' + s + '> is not acceptable.')
-    else:
-        print(f'<' + s + '> is acceptable.')
\ No newline at end of file
diff --git a/Python_BOJ_2021/4673.py b/Python_BOJ_2021/4673.py
deleted file mode 100644
index 689732c..0000000
--- a/Python_BOJ_2021/4673.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 셀프 넘버
-
-def d(n):
-    ans = n
-    for i in range(0, len(str(n))):
-        ans += int(n/10 ** i) % 10
-    return ans
-
-number = list()
-
-for i in range(1, 10001):
-    number.append(d(i))
-# print(number)
-
-for i in range(1, 10001):
-    if i not in number:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4796.py b/Python_BOJ_2021/4796.py
deleted file mode 100644
index f9938e7..0000000
--- a/Python_BOJ_2021/4796.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 캠핑
-
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-cnt = 0
-while True:
-    cnt += 1
-    L, P, V = map(int, input().split())
-
-    if L == 0 and P == 0 and V == 0: break
-
-    vacation = (V//P) * L + min(L, V - (V//P) * P)
-    print(f'Case {cnt}: {vacation}')
diff --git a/Python_BOJ_2021/4796_2.py b/Python_BOJ_2021/4796_2.py
deleted file mode 100644
index 656a2a4..0000000
--- a/Python_BOJ_2021/4796_2.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import sys
-tc = 1
-while True:
-    L, P, V = map(int, sys.stdin.readline().rstrip().split())
-    if L == P == V == 0 :break
-    ans = L * (V // P) + min(L, V % P)
-    print(f'Case {tc}: {ans}')
-    tc += 1
\ No newline at end of file
diff --git a/Python_BOJ_2021/4889.py b/Python_BOJ_2021/4889.py
deleted file mode 100644
index 913e37d..0000000
--- a/Python_BOJ_2021/4889.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 안정적인 문자열
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for count in range(int(1e9)):
-    arr = list(input())
-    tmp = list()
-
-    if arr.count('-'):
-        break
-
-    ans = 0
-    for i in range(len(arr)):
-        if len(tmp) == 0 and arr[i] == '}':
-            ans += 1
-            arr[i] = '{'
-            tmp.append(arr[i])
-        elif len(tmp) != 0 and arr[i] == '}':
-            tmp.pop()
-        else:
-            tmp.append(arr[i])
-
-    ans = ans + len(tmp) / 2
-    print(f'{count+1}. {int(ans)}')
diff --git a/Python_BOJ_2021/4948.py b/Python_BOJ_2021/4948.py
deleted file mode 100644
index dc124ca..0000000
--- a/Python_BOJ_2021/4948.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 베르트랑 공준
-import sys
-
-while True:
-    n = int(sys.stdin.readline().rstrip())
-    if n == 0: break
-
-    arr = [0] * (2 * n + 1)
-    ans = 0
-
-    for i in range(2, 2 * n + 1):
-        if arr[i] == 0:
-            if i > n: ans += 1
-            for j in range(i, 2 * n + 1, i):
-                arr[j] = 1
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4949.py b/Python_BOJ_2021/4949.py
deleted file mode 100644
index bbd4afa..0000000
--- a/Python_BOJ_2021/4949.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 균형잡힌 세상
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-while True:
-    data = input()
-    if data == '.': break
-
-    arr = list()
-    tmp = True
-
-    for i in data:
-        if i == '(' or i == '[':
-            arr.append(i)
-        elif i == ')':
-            if len(arr) == 0 or arr[-1] == '[':
-                tmp = False
-                break
-            elif arr[-1] == '(':
-                arr.pop()
-        elif i == ']':
-            if len(arr) == 0 or arr[-1] == '(':
-                tmp = False
-                break
-            elif arr[-1] == '[':
-                arr.pop()
-
-    if tmp == True and len(arr) == 0: print('yes')
-    else: print('no')
\ No newline at end of file
diff --git a/Python_BOJ_2021/4963.py b/Python_BOJ_2021/4963.py
deleted file mode 100644
index 0898849..0000000
--- a/Python_BOJ_2021/4963.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 섬의 갯수
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-sys.setrecursionlimit(100001)
-
-dx, dy = [-1, -1, 0, 1, 1, 1, 0, -1], [0, 1, 1 ,1, 0, -1, -1, -1]
-
-
-def dfs(x, y):
-    visited[x][y] = True
-
-    for i in range(8):
-        nx, ny = x + dx[i], y + dy[i]
-
-        if nx >= h or nx < 0 or ny >= w or ny < 0:
-            continue
-
-        if not visited[nx][ny] and graph[nx][ny] == 1:
-            dfs(nx, ny)
-
-
-while True:
-    w, h = map(int, input().split())
-    if w == 0 and h == 0: break
-    graph = [list(map(int, input().split())) for _ in range(h)]
-
-    visited = [[False] * w for _ in range(h)]
-    ans = 0
-
-    for i in range(h):
-        for j in range(w):
-            if not visited[i][j] and graph[i][j] == 1:
-                dfs(i, j)
-                ans += 1
-
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4963_2.py b/Python_BOJ_2021/4963_2.py
deleted file mode 100644
index 6212f12..0000000
--- a/Python_BOJ_2021/4963_2.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 섬의 갯수
-import sys
-input =lambda :sys.stdin.readline().rstrip()
-sys.setrecursionlimit(100001)
-dx, dy = [-1, 1, 0, 0, -1, -1, 1, 1], [0, 0, -1, 1, 1, -1, 1, -1]
-
-
-def dfs(x, y):
-    visited[x][y] = True
-    for i in range(8):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < h and 0 <= ny < w:
-            if graph[nx][ny] == 1 and not visited[nx][ny]:
-                dfs(nx, ny)
-
-
-while True:
-    w, h = map(int, input().split())
-    if w == h == 0: break
-    graph = [list(map(int, input().split())) for _ in range(h)]
-    visited = [[False] * w for _ in range(h)]
-    answer = 0
-    for i in range(h):
-        for j in range(w):
-            if graph[i][j] == 1 and not visited[i][j]:
-                dfs(i, j)
-                answer += 1
-
-    print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2021/4999.py b/Python_BOJ_2021/4999.py
deleted file mode 100644
index b9e3de7..0000000
--- a/Python_BOJ_2021/4999.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 아!
-a = input()
-b = input()
-
-if len(a) >= len(b):
-    print('go')
-else:
-    print('no')
\ No newline at end of file
diff --git a/Python_BOJ_2021/5014.py b/Python_BOJ_2021/5014.py
deleted file mode 100644
index 6a8e57e..0000000
--- a/Python_BOJ_2021/5014.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 스타트링크
-from collections import deque
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-F, S, G, U, D = map(int, input().split())
-graph = [-1 for _ in range(F)]
-graph[S-1] = 0
-visited = [False] * (F + 1)
-dy = [U, -D]
-
-
-def bfs(n):
-    queue = deque()
-    queue.append(n)
-    visited[n] = True
-
-    while queue:
-        y = queue.popleft()
-
-        for i in range(2):
-            ny = y + dy[i]
-            if 0 <= ny < F and not visited[ny]:
-                queue.append(ny)
-                graph[ny] = graph[y] + 1
-                visited[ny] = True
-
-
-bfs(S-1)
-print(graph[G-1] if graph[G-1] != -1 else 'use the stairs')
\ No newline at end of file
diff --git a/Python_BOJ_2021/5052.py b/Python_BOJ_2021/5052.py
deleted file mode 100644
index 2456fb2..0000000
--- a/Python_BOJ_2021/5052.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 전화번호 목록
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def check():
-    for i in range(len(num) - 1):
-        if num[i] == num[i + 1][0: len(num[i])]:
-            print('NO')
-            return
-    print('YES')
-
-
-for _ in range(int(input())):
-    n = int(input())
-    num = [list(map(int, input())) for _ in range(n)]
-    num.sort()
-    check()
\ No newline at end of file
diff --git a/Python_BOJ_2021/5076.py b/Python_BOJ_2021/5076.py
deleted file mode 100644
index 23016f5..0000000
--- a/Python_BOJ_2021/5076.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Web Pages
-import sys
-
-while True:
-    s = sys.stdin.readline().rstrip()
-    if s == '#': break
-    stack = []
-    flag = False
-    tmp = ''
-
-    for i in range(len(s)):
-        if s[i] == '<':
-            flag = True
-        elif s[i] == '>':
-            flag = False
-            if tmp and tmp[-1] == '/':
-                tmp = ''
-                continue
-            elif stack and stack[-1] == tmp[1:]:
-                stack.pop()
-            else:
-                stack.append(tmp)
-            tmp = ''
-
-        if flag and s[i] == ' ' and s[i + 1] != '/':
-            flag = False
-
-        if flag and s[i] != '<':
-            tmp += s[i]
-
-    if stack:
-        print("illegal")
-    else:
-        print("legal")
\ No newline at end of file
diff --git a/Python_BOJ_2021/5218.py b/Python_BOJ_2021/5218.py
deleted file mode 100644
index f233e58..0000000
--- a/Python_BOJ_2021/5218.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 알파벳 거리
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    tmp = list()
-    s = list(map(str, input().split()))
-
-    for i in range(len(s[0])):
-        a = ord(s[1][i]) - ord(s[0][i])
-        if a < 0: a += 26
-        tmp.append(a)
-        
-    print('Distances:', end=' ')
-    for i in tmp: print(i, end=' ')
-    print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/5355.py b/Python_BOJ_2021/5355.py
deleted file mode 100644
index 79c8d91..0000000
--- a/Python_BOJ_2021/5355.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 화성 수학
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = list(input().split())
-
-    for i in range(len(s)):
-        if s[i] == '@':
-            s[0] = float(s[0]) * 3
-        elif s[i] == '%':
-            s[0] = float(s[0]) + 5
-        elif s[i] == '#':
-            s[0] = float(s[0]) - 7
-    ans = s[0]
-    print(format(round(ans, 3), ".2f"))
\ No newline at end of file
diff --git a/Python_BOJ_2021/5373.py b/Python_BOJ_2021/5373.py
deleted file mode 100644
index 3187a9e..0000000
--- a/Python_BOJ_2021/5373.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# 큐빙
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def cw(arr):
-    new_arr = [[0 for _ in range(3)] for _ in range(3)]
-    for i in range(3):
-        for j in range(3):
-            new_arr[i][j] = arr[2 - j][i]
-    return new_arr
-
-
-def ccw(arr):
-    new_arr = [[0 for _ in range(3)] for _ in range(3)]
-    for i in range(3):
-        for j in range(3):
-            new_arr[i][j] = arr[j][2 - i]
-    return new_arr
-
-
-def move(cmd):
-    global cube
-    if cmd == 'U+':
-        cube[4][0], cube[3][0], cube[5][0], cube[2][0] = cube[2][0], cube[4][0], cube[3][0], cube[5][0]
-        cube[0] = cw(cube[0])
-        return
-
-    elif cmd == 'U-':
-        cube[5][0], cube[3][0], cube[4][0], cube[2][0] = cube[2][0], cube[5][0], cube[3][0], cube[4][0]
-        cube[0] = ccw(cube[0])
-        return
-
-    elif cmd == 'D-':
-        cube[4][2], cube[3][2], cube[5][2], cube[2][2] = cube[2][2], cube[4][2], cube[3][2], cube[5][2]
-        cube[1] = ccw(cube[1])
-        return
-
-    elif cmd == 'D+':
-        cube[5][2], cube[3][2], cube[4][2], cube[2][2] = cube[2][2], cube[5][2], cube[3][2], cube[4][2]
-        cube[1] = cw(cube[1])
-        return
-
-    elif cmd == "F+":
-        a, b, c = cube[4][0][2], cube[4][1][2], cube[4][2][2]
-        cube[4][0][2], cube[4][1][2], cube[4][2][2] = cube[1][0][0], cube[1][0][1], cube[1][0][2]
-        cube[1][0][0], cube[1][0][1], cube[1][0][2] = cube[5][2][0], cube[5][1][0], cube[5][0][0]
-        cube[5][2][0], cube[5][1][0], cube[5][0][0] = cube[0][2][2], cube[0][2][1], cube[0][2][0]
-        cube[0][2][2], cube[0][2][1], cube[0][2][0] = a, b, c
-        cube[2] = cw(cube[2])
-        return
-
-    elif cmd == "F-":
-        a, b, c = cube[4][0][2], cube[4][1][2], cube[4][2][2]
-        cube[4][0][2], cube[4][1][2], cube[4][2][2] = cube[0][2][2], cube[0][2][1], cube[0][2][0]
-        cube[0][2][2], cube[0][2][1], cube[0][2][0] = cube[5][2][0], cube[5][1][0], cube[5][0][0]
-        cube[5][2][0], cube[5][1][0], cube[5][0][0] = cube[1][0][0], cube[1][0][1], cube[1][0][2]
-        cube[1][0][0], cube[1][0][1], cube[1][0][2] = a, b, c
-        cube[2] = ccw(cube[2])
-        return
-
-    elif cmd == "B+":
-        a, b, c = cube[4][0][0], cube[4][1][0], cube[4][2][0]
-        cube[4][0][0], cube[4][1][0], cube[4][2][0] = cube[0][0][2], cube[0][0][1], cube[0][0][0]
-        cube[0][0][2], cube[0][0][1], cube[0][0][0] = cube[5][2][2], cube[5][1][2], cube[5][0][2]
-        cube[5][2][2], cube[5][1][2], cube[5][0][2] = cube[1][2][0], cube[1][2][1], cube[1][2][2]
-        cube[1][2][0], cube[1][2][1], cube[1][2][2] = a, b, c
-        cube[3] = cw(cube[3])
-        return
-
-    elif cmd == "B-":
-        a, b, c = cube[4][0][0], cube[4][1][0], cube[4][2][0]
-        cube[4][0][0], cube[4][1][0], cube[4][2][0] = cube[1][2][0], cube[1][2][1], cube[1][2][2]
-        cube[1][2][0], cube[1][2][1], cube[1][2][2] = cube[5][2][2], cube[5][1][2], cube[5][0][2]
-        cube[5][2][2], cube[5][1][2], cube[5][0][2] = cube[0][0][2], cube[0][0][1], cube[0][0][0]
-        cube[0][0][2], cube[0][0][1], cube[0][0][0] = a, b, c
-        cube[3] = ccw(cube[3])
-        return
-
-    elif cmd == "L+":
-        a, b, c = cube[0][0][0], cube[0][1][0], cube[0][2][0]
-        cube[0][0][0], cube[0][1][0], cube[0][2][0] = cube[3][2][2], cube[3][1][2], cube[3][0][2]
-        cube[3][2][2], cube[3][1][2], cube[3][0][2] = cube[1][0][0], cube[1][1][0], cube[1][2][0]
-        cube[1][0][0], cube[1][1][0], cube[1][2][0] = cube[2][0][0], cube[2][1][0], cube[2][2][0]
-        cube[2][0][0], cube[2][1][0], cube[2][2][0] = a, b, c
-        cube[4] = cw(cube[4])
-        return
-
-    elif cmd == "L-":
-        a, b, c = cube[0][0][0], cube[0][1][0], cube[0][2][0]
-        cube[0][0][0], cube[0][1][0], cube[0][2][0] = cube[2][0][0], cube[2][1][0], cube[2][2][0]
-        cube[2][0][0], cube[2][1][0], cube[2][2][0] = cube[1][0][0], cube[1][1][0], cube[1][2][0]
-        cube[1][0][0], cube[1][1][0], cube[1][2][0] = cube[3][2][2], cube[3][1][2], cube[3][0][2]
-        cube[3][2][2], cube[3][1][2], cube[3][0][2] = a, b, c
-        cube[4] = ccw(cube[4])
-        return
-
-    elif cmd == "R+":
-        a, b, c = cube[0][0][2], cube[0][1][2], cube[0][2][2]
-        cube[0][0][2], cube[0][1][2], cube[0][2][2] = cube[2][0][2], cube[2][1][2], cube[2][2][2]
-        cube[2][0][2], cube[2][1][2], cube[2][2][2] = cube[1][0][2], cube[1][1][2], cube[1][2][2]
-        cube[1][0][2], cube[1][1][2], cube[1][2][2] = cube[3][2][0], cube[3][1][0], cube[3][0][0]
-        cube[3][2][0], cube[3][1][0], cube[3][0][0] = a, b, c
-        cube[5] = cw(cube[5])
-        return
-    else:
-        a, b, c = cube[0][0][2], cube[0][1][2], cube[0][2][2]
-        cube[0][0][2], cube[0][1][2], cube[0][2][2] = cube[3][2][0], cube[3][1][0], cube[3][0][0]
-        cube[3][2][0], cube[3][1][0], cube[3][0][0] = cube[1][0][2], cube[1][1][2], cube[1][2][2]
-        cube[1][0][2], cube[1][1][2], cube[1][2][2] = cube[2][0][2], cube[2][1][2], cube[2][2][2]
-        cube[2][0][2], cube[2][1][2], cube[2][2][2] = a, b, c
-        cube[5] = ccw(cube[5])
-        return
-
-
-for _ in range(int(input())):
-    n = int(input())
-    cmd = list(input().split())
-    cube = [[['w','w','w'],['w','w','w'],['w','w','w']],
-            [['y','y','y'],['y','y','y'],['y','y','y']],
-            [['r','r','r'],['r','r','r'],['r','r','r']],
-            [['o','o','o'],['o','o','o'],['o','o','o']],
-            [['g','g','g'],['g','g','g'],['g','g','g']],
-            [['b','b','b'],['b','b','b'],['b','b','b']]]
-    for i in cmd:
-        move(i)
-
-    for i in range(3):
-        ans = ''.join(cube[0][i])
-        print(ans)
diff --git a/Python_BOJ_2021/5427.py b/Python_BOJ_2021/5427.py
deleted file mode 100644
index 9e7564a..0000000
--- a/Python_BOJ_2021/5427.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# 불
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def fire():
-    fqlen = len(fire_queue)
-    while fqlen:
-        x, y = fire_queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < h and 0 <= ny < w:
-                if graph[nx][ny] == '.':
-                    graph[nx][ny] = '*'
-                    fire_queue.append((nx, ny))
-        fqlen -= 1
-
-
-def bfs(i, j):
-    queue.append((i, j))
-    visited[i][j] = 1
-    while queue:
-        qlen = len(queue)
-        while qlen:
-            x, y = queue.popleft()
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-                if 0 <= nx < h and 0 <= ny < w and not visited[nx][ny]:
-                    if graph[nx][ny] == '.':
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append((nx, ny))
-                elif nx < 0 or ny < 0 or nx >= h or ny >= w:
-                    print(visited[x][y])
-                    return
-            qlen -= 1
-        fire()
-    print("IMPOSSIBLE")
-    return
-
-
-for _ in range(int(input())):
-    w, h = map(int, input().split())
-    graph = [list(input()) for _ in range(h)]
-    visited = [[0] * w for _ in range(h)]
-
-    dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-    queue, fire_queue = deque(), deque()
-
-    for x in range(h):
-        for y in range(w):
-            if graph[x][y] == '@':
-                start_x, start_y = x, y
-                graph[x][y] = '.'
-            if graph[x][y] == '*':
-                fire_queue.append((x, y))
-    fire()
-    bfs(start_x, start_y)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5430.py b/Python_BOJ_2021/5430.py
deleted file mode 100644
index a137a84..0000000
--- a/Python_BOJ_2021/5430.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# AC
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline()
-
-errFlag = False
-for _ in range(int(input())):
-    p = input() # 수행할 함수
-    n = int(input())    # 배열에 숫자 갯수
-
-    arr = input()[1:-2].split(",")
-
-    if arr[0] != '':
-        arr = deque(arr)
-    else:
-        arr = deque()
-    direction_Flag=True
-
-    for i in p:
-        if i == "R":
-            if direction_Flag==True:
-                direction_Flag = False
-            elif direction_Flag==False:
-                direction_Flag = True
-        elif i == "D":
-            if len(arr) == 0 :
-                print("error")
-                errFlag = True
-                break
-
-            if direction_Flag == True:
-                arr.popleft()
-            elif direction_Flag==False:
-                arr.pop()
-
-    if p.count('R') % 2 != 0:
-        arr.reverse()
-
-    if errFlag==False:
-        print("[",end="")
-        for i in range(len(arr)):
-            print(arr[i],end="")
-            if i != len(arr)-1:
-                print(",",end="")
-        print("]")
-    errFlag=False
-
-
-# 1
-# DD
-# 2
-# [1,2]
-# error
\ No newline at end of file
diff --git a/Python_BOJ_2021/5524.py b/Python_BOJ_2021/5524.py
deleted file mode 100644
index ba80d11..0000000
--- a/Python_BOJ_2021/5524.py
+++ /dev/null
@@ -1,3 +0,0 @@
-for i in range(int(input())):
-    s = input().lower()
-    print(s)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5543.py b/Python_BOJ_2021/5543.py
deleted file mode 100644
index f3c1894..0000000
--- a/Python_BOJ_2021/5543.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 상근날드
-
-hambug = []
-drink = []
-
-for i in range(5):
-    a = int(input())
-
-    if i < 3:
-        hambug.append(a)
-    else:
-        drink.append(a)
-
-print(min(hambug) + min(drink) - 50)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5545.py b/Python_BOJ_2021/5545.py
deleted file mode 100644
index 87b0705..0000000
--- a/Python_BOJ_2021/5545.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 최고의 피자
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-cost = list(map(int, input().split()))
-dow_cal = int(input())
-topping_cal = [int(input()) for _ in range(n)]
-
-topping_cal.sort(reverse=True)
-
-answer = dow_cal / cost[0]
-
-for i in topping_cal:
-    cost[0] += cost[1]
-    if (dow_cal + i) / cost[0] > answer:
-        dow_cal += i
-        answer = dow_cal / cost[0]
-    else: break
-
-print(int(answer))
\ No newline at end of file
diff --git a/Python_BOJ_2021/5555.py b/Python_BOJ_2021/5555.py
deleted file mode 100644
index 583f2ac..0000000
--- a/Python_BOJ_2021/5555.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 반지
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-ans = 0
-find = input()
-
-for i in range(int(input())):
-    s = input()
-    if find in s:
-        ans += 1
-    else:
-        for i in range(1, len(find)):
-            if s[-(len(find) - i):] + s[:i] == find:
-                ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5567.py b/Python_BOJ_2021/5567.py
deleted file mode 100644
index 779b2d9..0000000
--- a/Python_BOJ_2021/5567.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 결혼식
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-m = int(input())
-graph = [[0] * (n + 1) for _ in range(n + 1)]
-visited = [0 for _ in range(n + 1)]
-
-for _ in range(m):
-    x, y = map(int, input().split())
-    graph[x][y], graph[y][x] = 1, 1
-
-
-def bfs(start):
-    queue = deque()
-    queue.append(start)
-
-    while queue:
-        a = queue.popleft()
-        for i in range(1, n + 1):
-            if visited[i] == 0 and graph[a][i] == 1:
-                queue.append(i)
-                visited[i] = visited[a] + 1
-
-
-bfs(1)
-
-ans = 0
-for i in range(2, n + 1):
-    if visited[i] < 4 and visited[i] != 0:
-        ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5568.py b/Python_BOJ_2021/5568.py
deleted file mode 100644
index b2c28f7..0000000
--- a/Python_BOJ_2021/5568.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 카드 놓기
-import sys
-from itertools import permutations
-input = lambda :sys.stdin.readline().rstrip()
-
-n, k = int(input()), int(input())
-list = [input() for _ in range(n)]
-
-answer = set()
-for i in permutations(list, k):
-    answer.add(''.join(i))
-
-print(len(answer))
\ No newline at end of file
diff --git a/Python_BOJ_2021/5585.py b/Python_BOJ_2021/5585.py
deleted file mode 100644
index d1ee769..0000000
--- a/Python_BOJ_2021/5585.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 거스름돈
-from sys import stdin
-
-money = 1000 - int(stdin.readline().rstrip())
-pouch = [500, 100, 50, 10, 5, 1]
-
-cnt = 0
-
-for i in pouch:
-    cnt += money // i
-    money %= i
-
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5586.py b/Python_BOJ_2021/5586.py
deleted file mode 100644
index 5b83f8c..0000000
--- a/Python_BOJ_2021/5586.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# JOI와 IOI
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-s = list(map(str, input()))
-ans = [0] * 2
-
-for i in range(len(s) - 2):
-    if s[i] == 'J':
-        if s[i + 1] == 'O' and s[i + 2] == 'I':
-            ans[0] += 1
-
-    elif s[i] == 'I':
-        if s[i + 1] == 'O' and s[i + 2] == 'I':
-            ans[1] += 1
-
-print(ans[0])   # 'JOI'
-print(ans[1])   # 'IOI'
\ No newline at end of file
diff --git a/Python_BOJ_2021/5597.py b/Python_BOJ_2021/5597.py
deleted file mode 100644
index f7de693..0000000
--- a/Python_BOJ_2021/5597.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 과제 안 내신 분..?
-import sys
-check = [0] * 30
-
-for _ in range(28):
-    check[int(sys.stdin.readline().rstrip()) - 1] = 1
-
-for i in range(30):
-    if check[i] == 0:
-        print(i + 1)
diff --git a/Python_BOJ_2021/5598.py b/Python_BOJ_2021/5598.py
deleted file mode 100644
index f315473..0000000
--- a/Python_BOJ_2021/5598.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# 카이사르 암호
-import sys
-s = list(map(str, sys.stdin.readline().rstrip()))
-
-for i in range(len(s)):
-    asciii = ord(s[i]) - ord('A') - 3
-    if asciii < 0:
-        asciii += 26
-    print(chr(asciii + ord('A')), end='')
diff --git a/Python_BOJ_2021/5615.py b/Python_BOJ_2021/5615.py
deleted file mode 100644
index 1ce15ce..0000000
--- a/Python_BOJ_2021/5615.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 아파트 임대 (실패)
-import sys
-input = sys.stdin.readline
-
-r = 0
-for _ in range(int(input())):
-    s = int(input())
-    x, a = 1, False
-    while s > x and 2 * x * (x + 1) < (1 << 31):
-        if (s - x) % (x + x + 1) == 0:
-            a = True
-            break
-        x += 1
-    if not a: r += 1
-print(r)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5622.py b/Python_BOJ_2021/5622.py
deleted file mode 100644
index 0c3c949..0000000
--- a/Python_BOJ_2021/5622.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 다이얼
-
-n = input().upper()
-time = 0
-
-for i in range(len(n)):
-    if n[i] == 'A' or n[i] == 'B' or n[i] == 'C':
-        time += 3
-    elif n[i] == 'D' or n[i] == 'E' or n[i] == 'F':
-        time += 4
-    elif n[i] == 'G' or n[i] == 'H' or n[i] == 'I':
-        time += 5
-    elif n[i] == 'J' or n[i] == 'K' or n[i] == 'L':
-        time += 6
-    elif n[i] == 'M' or n[i] == 'N' or n[i] == 'O':
-        time += 7
-    elif n[i] == 'P' or n[i] == 'Q' or n[i] == 'R' or n[i] == 'S':
-        time += 8
-    elif n[i] == 'T' or n[i] == 'U' or n[i] == 'V':
-        time += 9
-    elif n[i] == 'W' or n[i] == 'X' or n[i] == 'Y' or n[i] == 'Z':
-        time += 10
-    elif n[i] =='1':
-        time += 2
-    else:
-        time += 11
-print(time)
\ No newline at end of file
diff --git a/Python_BOJ_2021/5656.py b/Python_BOJ_2021/5656.py
deleted file mode 100644
index a1ffd5a..0000000
--- a/Python_BOJ_2021/5656.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# 비교 연산자
-i = 1
-while True:
-    num1, ope, num2 = input().strip().split()
-
-    if ope == 'E':
-        break
-
-    if ope == '>':
-        print(f'Case {i}: ' + str(int(num1) > int(num2)).lower())
-
-    elif ope == '>=':
-        print(f'Case {i}: ' + str(int(num1) >= int(num2)).lower())
-
-    elif ope == '<':
-        print(f'Case {i}: ' + str(int(num1) < int(num2)).lower())
-
-    elif ope == '<=':
-        print(f'Case {i}: ' + str(int(num1) <= int(num2)).lower())
-
-    elif ope == '==':
-        print(f'Case {i}: ' + str(int(num1) == int(num2)).lower())
-
-    elif ope == '!=':
-        print(f'Case {i}: ' + str(int(num1) != int(num2)).lower())
-    i += 1
\ No newline at end of file
diff --git a/Python_BOJ_2021/5704.py b/Python_BOJ_2021/5704.py
deleted file mode 100644
index c0982c0..0000000
--- a/Python_BOJ_2021/5704.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 팬그램
-import sys
-
-while True:
-    s = sys.stdin.readline().rstrip()
-    if s == '*': break
-
-    alphabet = [0] * 26
-
-    for i in s:
-        if i == ' ': continue
-
-        if alphabet[ord(i) - ord('a')] == 1: continue
-        else: alphabet[ord(i) - ord('a')] += 1
-
-    if sum(alphabet) == 26:
-        print("Y")
-    else:
-        print("N")
\ No newline at end of file
diff --git a/Python_BOJ_2021/5789.py b/Python_BOJ_2021/5789.py
deleted file mode 100644
index ba9c95a..0000000
--- a/Python_BOJ_2021/5789.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 한다 안한다
-for _ in range(int(input())):
-    a = input()
-    if a[(len(a)//2) - 1] == a[len(a)//2]:
-        print("Do-it")
-    else:
-        print("Do-it-Not")
\ No newline at end of file
diff --git a/Python_BOJ_2021/5972.py b/Python_BOJ_2021/5972.py
deleted file mode 100644
index 69a7020..0000000
--- a/Python_BOJ_2021/5972.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 택배 배송
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-
-def dijikstra(start):
-    queue = list()
-    heapq.heappush(queue, (0, start))
-    distance[start] = 0
-
-    while queue:
-        cost, current = heapq.heappop(queue)
-        if distance[current] < cost: continue
-        for i in graph[current]:
-            cost2 = cost + i[1]
-            if cost2 < distance[i[0]]:
-                distance[i[0]] = cost2
-                heapq.heappush(queue, (cost2, i[0]))
-
-
-n, m = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-distance = [INF] * (n + 1)
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append([to_, weight])
-    graph[to_].append([from_, weight])
-
-dijikstra(1)
-print(distance[n])
\ No newline at end of file
diff --git a/Python_BOJ_2021/6087.py b/Python_BOJ_2021/6087.py
deleted file mode 100644
index 265bea5..0000000
--- a/Python_BOJ_2021/6087.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# 레이저 통신
-import sys
-from collections import deque
-input = sys.stdin.readline
-
-w, h = map(int, input().split())
-graph = [list(input()) for _ in range(h)]
-mirror = [[] for _ in range(h)]
-C = []
-
-for i in range(h):
-    for j in range(w):
-        if graph[i][j] == 'C':
-            C.append([i, j])
-        if graph[i][j] != '*':
-            mirror[i].append(-1)
-        else:
-            mirror[i].append(graph[i][j])
-
-dx, dy = [1, -1, 0, 0], [0, 0, 1, -1]
-
-
-def bfs(x, y):
-    q = deque()
-    q.append([x, y])
-    mirror[x][y] = 0
-    while q:
-        x, y,  = q.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            while 0 <= nx < h and 0 <= ny < w:
-                if mirror[nx][ny] == '*':
-                    break
-                if mirror[nx][ny] == -1:
-                    mirror[nx][ny] = mirror[x][y] + 1
-                    q.append([nx, ny])
-                nx += dx[i]
-                ny += dy[i]
-
-
-bfs(C[0][0], C[0][1])
-print(mirror[C[1][0]][C[1][1]] - 1)
\ No newline at end of file
diff --git a/Python_BOJ_2021/6198.py b/Python_BOJ_2021/6198.py
deleted file mode 100644
index 4a38e0f..0000000
--- a/Python_BOJ_2021/6198.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 옥상 정원 꾸미기
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-bdg = list()
-for _ in range(int(input())):
-    bdg.append(int(input()))
-
-stack = list()
-ans = 0
-
-for i in bdg:
-    while stack and stack[-1] <= i:
-        stack.pop()
-    stack.append(i)
-    ans += len(stack) - 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/6321.py b/Python_BOJ_2021/6321.py
deleted file mode 100644
index f27d4da..0000000
--- a/Python_BOJ_2021/6321.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# IBM 빼기1
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-for tc in range(int(input())):
-    s = input()
-    tmp = ''
-    for i in range(len(s)):
-        if s[i] == 'Z':
-            tmp += 'A'
-        else:
-            tmp += str(chr(int(ord(s[i])) + 1))
-    print("String #", end='')
-    print(tc + 1)
-    print(tmp)
-    print()
\ No newline at end of file
diff --git a/Python_BOJ_2021/6593.py b/Python_BOJ_2021/6593.py
deleted file mode 100644
index 47e71f8..0000000
--- a/Python_BOJ_2021/6593.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 상범 빌딩
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-dx, dy, dz = [-1, 1, 0, 0, 0, 0], [0, 0, -1, 1, 0, 0], [0, 0, 0, 0, -1, 1]
-
-
-def bfs(k, i, j):
-    queue = deque()
-    queue.append((k, i, j))
-    visited[k][i][j] = 0
-
-    while queue:
-        z, x, y = queue.popleft()
-        for i in range(6):
-            nx, ny, nz = x + dx[i], y + dy[i], z + dz[i]
-
-            if 0 <= nx < r and 0 <= ny < c and 0 <= nz < l:
-                if graph[nz][nx][ny] == 'E':
-                    print(f'Escaped in {visited[z][x][y] + 1} minute(s).')
-                    return
-
-                if visited[nz][nx][ny] == -1 and graph[nz][nx][ny] == '.':
-                    visited[nz][nx][ny] = visited[z][x][y] + 1
-                    queue.append((nz, nx, ny))
-    print('Trapped!')
-
-
-while True:
-    l, r, c = map(int, input().split())
-    if l == 0 and r == 0 and c == 0: break
-
-    graph = [[[] * c for _ in range(r)] for _ in range(l)]
-    visited = [[[-1] * c for _ in range(r)] for _ in range(l)]
-
-    for i in range(l):
-        graph[i] = [list(input()) for _ in range(r)]
-        input()
-
-    for k in range(l):
-        for i in range(r):
-            for j in range(c):
-                if graph[k][i][j] == 'S':
-                    bfs(k, i, j)
\ No newline at end of file
diff --git a/Python_BOJ_2021/6603.py b/Python_BOJ_2021/6603.py
deleted file mode 100644
index 8a47855..0000000
--- a/Python_BOJ_2021/6603.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 로또
-import sys
-
-def dfs(start, depth):
-    if depth == 6:
-        print(' '.join(map(str, visited)))
-        return
-
-    for i in range(start, len(arr)):
-        visited[depth] = arr[i]
-        dfs(i+1, depth+1)
-
-
-while True:
-    data = list(map(int, sys.stdin.readline().rstrip().split()))
-    if data[0] == 0: break
-
-    arr = data[1:]
-    visited = [0] * 6
-
-    dfs(0, 0)
-    print()
-
diff --git a/Python_BOJ_2021/6766.py b/Python_BOJ_2021/6766.py
deleted file mode 100644
index 1656362..0000000
--- a/Python_BOJ_2021/6766.py
+++ /dev/null
@@ -1,13 +0,0 @@
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-k = int(input())
-a = input().upper()
-
-for i in range(len(a)):
-    idx = ord(a[i])
-    code = 3 * (i+1) + k
-    gazua = idx - code
-    if gazua < 65:
-        gazua += 26
-    print(chr(gazua), end='')
diff --git a/Python_BOJ_2021/6993.py b/Python_BOJ_2021/6993.py
deleted file mode 100644
index 2b6d71b..0000000
--- a/Python_BOJ_2021/6993.py
+++ /dev/null
@@ -1,15 +0,0 @@
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    arr, num = map(str, input().split())
-    a = deque(arr)
-    tmp = list()
-    for i in range(int(num)):
-        tmp.append(a.pop())
-        a.appendleft(tmp.pop())
-
-    print(f"Shifting {arr} by {num} positions gives us: {''.join(a)}")
-
-
diff --git a/Python_BOJ_2021/6996.py b/Python_BOJ_2021/6996.py
deleted file mode 100644
index f53bc83..0000000
--- a/Python_BOJ_2021/6996.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 애너그램
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    a, b = map(str, input().split())
-    a_alphabet, b_alphabet = [0] * 26, [0] * 26
-
-    for i in range(len(a)):
-        a_alphabet[ord(a[i]) - 97] += 1
-
-    for i in range(len(b)):
-        b_alphabet[ord(b[i]) - 97] += 1
-
-    if a_alphabet == b_alphabet:
-        print(f'{a} & {b} are anagrams.')
-    else:
-        print(f'{a} & {b} are NOT anagrams.')
\ No newline at end of file
diff --git a/Python_BOJ_2021/7562.py b/Python_BOJ_2021/7562.py
deleted file mode 100644
index fe67af3..0000000
--- a/Python_BOJ_2021/7562.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 나이트의 이동
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-dx, dy = [1, 1, -1, -1, 2, 2, -2, -2], [2, -2, 2, -2, 1, -1, 1, -1]
-
-
-def bfs(x, y, p, q):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 1
-
-    while queue:
-        x, y = queue.popleft()
-
-        if x == p and y == q:
-            print(visited[p][q] - 1)
-            break
-
-        for i in range(8):
-            nx, ny = x + dx[i], y + dy[i]
-
-            if 0 <= nx < n and 0 <= ny < n:
-                if visited[nx][ny] == 0:
-                    queue.append((nx, ny))
-                    visited[nx][ny] = visited[x][y] + 1
-
-
-for _ in range(int(input())):
-    n = int(input())
-    start_x, start_y = map(int, input().split())
-    end_x, end_y = map(int, input().split())
-    visited = [[0 for _ in range(n)] for _ in range(n)]
-
-    bfs(start_x, start_y, end_x, end_y)
\ No newline at end of file
diff --git a/Python_BOJ_2021/7562_2.py b/Python_BOJ_2021/7562_2.py
deleted file mode 100644
index 7f837cc..0000000
--- a/Python_BOJ_2021/7562_2.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 나이트의 이동
-import sys
-from collections import deque
-input = lambda :sys.stdin.readline().rstrip()
-dx, dy = [2, 1, -2, -1, 2, 1, -2, -1], [1, 2, 1, 2, -1, -2, -1, -2]
-
-def bfs(x, y, xx, yy):
-    queue = deque()
-    queue.append((x, y))
-    graph[x][y] = 1
-    while queue:
-        x, y = queue.popleft()
-
-        if x == xx and y == yy:
-            print(graph[xx][yy] - 1)
-            break
-
-        for i in range(8):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < l and 0 <= ny < l:
-                if graph[nx][ny] == 0:
-                    queue.append((nx, ny))
-                    graph[nx][ny] = graph[x][y] + 1
-
-
-for _ in range(int(input())):
-    l = int(input())
-    graph = [[0 for _ in range(l)] for _ in range(l)]
-    start_x, start_y = map(int, input().split())
-    end_x, end_y = map(int, input().split())
-    bfs(start_x, start_y, end_x, end_y)
\ No newline at end of file
diff --git a/Python_BOJ_2021/7567.py b/Python_BOJ_2021/7567.py
deleted file mode 100644
index 2fc2979..0000000
--- a/Python_BOJ_2021/7567.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 그릇
-import sys
-s = list(map(str, sys.stdin.readline().rstrip()))
-
-ans = 10
-for i in range(len(s) - 1):
-    if s[i] == s[i + 1]:
-        ans += 5
-    else:
-        ans += 10
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/7568.py b/Python_BOJ_2021/7568.py
deleted file mode 100644
index 27c5bc3..0000000
--- a/Python_BOJ_2021/7568.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 덩치
-
-T = int(input())
-
-people = []
-
-for _ in range(1, T+1):
-    w, h = map(int, input().split())
-    people.append((w, h))
-
-
-for i in people:
-    rank = 1
-    for j in people:
-        if i[0] < j[0] and i[1] < j[1]:
-            rank += 1
-    print(rank, end=' ')
-
-
-'''
-5
-55 185
-58 183
-88 186
-60 175
-46 155
-'''
\ No newline at end of file
diff --git a/Python_BOJ_2021/7568_2.py b/Python_BOJ_2021/7568_2.py
deleted file mode 100644
index 0dece01..0000000
--- a/Python_BOJ_2021/7568_2.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = [[0] * 2 for _ in range(n)]
-
-for i in range(n):
-    x, y = map(int, input().split())
-    arr[i][0], arr[i][1] = x, y
-
-for i in arr:
-    rank = 1
-    for j in arr:
-        if i[0] < j[0] and i[1] < j[1]:
-            rank += 1
-    print(rank, end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2021/7570.py b/Python_BOJ_2021/7570.py
deleted file mode 100644
index 4c9dc18..0000000
--- a/Python_BOJ_2021/7570.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 줄 세우기
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-dp =[0] * (int(1e6) + 1)
-ans = 0
-
-for i in arr:
-    dp[i] = dp[i - 1] + 1
-    ans = max(ans, dp[i])
-
-print(n - ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/7576.py b/Python_BOJ_2021/7576.py
deleted file mode 100644
index 5ff32b0..0000000
--- a/Python_BOJ_2021/7576.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# 토마토
-import sys
-input = lambda : sys.stdin.readline()
-
-N, M = map(int, input().split())
-
-tomato_pos = []
-graph = []
-
-for i in range(M):
-    a = list(map(int, input().split()))
-    for j in range(N):
-        if a[j] == 1:
-            tomato_pos.append((i, j))
-    graph.append(a)
-
-
-def bfs(graph, queue):
-    cnt = 0
-    while queue:
-        good = []
-
-        for v in queue:
-            x, y = v[0], v[1]
-
-            if y < N-1 and graph[x][y+1] == 0:
-                graph[x][y+1] = 1
-                good.append((x, y+1))
-
-            if y > 0 and graph[x][y-1] == 0:
-                graph[x][y-1] = 1
-                good.append((x, y-1))
-
-            if x < M-1 and graph[x+1][y] == 0:
-                graph[x+1][y] = 1
-                good.append((x+1, y))
-
-            if x > 0 and graph[x-1][y] == 0:
-                graph[x-1][y] = 1
-                good.append((x-1, y))
-
-        queue = good
-        cnt += 1
-
-    for a in graph:
-        if a.count(0) != 0:
-            return -1
-
-    return cnt - 1
-
-
-print(bfs(graph, tomato_pos))
\ No newline at end of file
diff --git a/Python_BOJ_2021/7576_2.py b/Python_BOJ_2021/7576_2.py
deleted file mode 100644
index 072f3db..0000000
--- a/Python_BOJ_2021/7576_2.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 토마토
-from collections import deque
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(m)]
-visited = [[0 for _ in range(n)] for _ in range(m)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs():
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < m and 0 <= ny < n:
-                if graph[nx][ny] == 0 and not visited[nx][ny]:
-                    visited[nx][ny] = visited[x][y] + 1
-                    queue.append((nx, ny))
-
-
-queue = deque()
-for i in range(m):
-    for j in range(n):
-        if graph[i][j] == 1:
-            queue.append((i, j))
-            visited[i][j] = 1
-        elif graph[i][j] == -1:
-            visited[i][j] = -1
-bfs()
-
-for i in range(m):
-    for j in range(n):
-        if visited[i][j] == 0:
-            print(-1)
-            exit(0)
-
-answer = -123456789
-for i in range(m):
-    for j in range(n):
-        answer = max(visited[i][j], answer)
-print(answer - 1)
diff --git a/Python_BOJ_2021/7600.py b/Python_BOJ_2021/7600.py
deleted file mode 100644
index 609b38d..0000000
--- a/Python_BOJ_2021/7600.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 문자가 몇갤까
-import sys
-
-while True:
-    s = list(map(str, set(sys.stdin.readline().rstrip().lower())))
-    if s == ['#']: break
-    s.sort()
-
-    arr = [0] * 26
-
-    for i in s:
-        if ord(i) - ord('a') >= 0:
-            arr[ord(i) - ord('a')] += 1
-
-    print(arr.count(1))
\ No newline at end of file
diff --git a/Python_BOJ_2021/7785.py b/Python_BOJ_2021/7785.py
deleted file mode 100644
index 6d38625..0000000
--- a/Python_BOJ_2021/7785.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 회사에 있는 사람
-arr = dict()
-for _ in range(int(input())):
-    name, action = input().split()
-    if action == 'enter':
-        arr[name] = True
-    else:
-        del arr[name]
-
-print("\n".join(sorted(arr.keys(), reverse=True)))
\ No newline at end of file
diff --git a/Python_BOJ_2021/8320.py b/Python_BOJ_2021/8320.py
deleted file mode 100644
index 2b28706..0000000
--- a/Python_BOJ_2021/8320.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# 직사각형을 만드는 방법
-import sys
-n = int(sys.stdin.readline().rstrip())
-ans = 0
-for i in range(1, n+1):
-    for j in range(i, n+1):
-        if i * j <= n:
-            ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/8320_2.py b/Python_BOJ_2021/8320_2.py
deleted file mode 100644
index 4722696..0000000
--- a/Python_BOJ_2021/8320_2.py
+++ /dev/null
@@ -1,7 +0,0 @@
-n = int(input())
-ans = 0
-for i in range(1, n + 1):
-    for j in range(i, n + 1):
-        if i * j <= n:
-            ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/8595.py b/Python_BOJ_2021/8595.py
deleted file mode 100644
index b515886..0000000
--- a/Python_BOJ_2021/8595.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 히든 넘버
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-number = '0123456789'
-n = int(input())
-s = input()
-tmp = ''
-ans = 0
-
-for i in range(n):
-    if s[i] in number:
-        tmp += s[i]
-    else:
-        tmp += ' '
-
-arr = list(map(str, tmp.split(' ')))
-for j in range(len(arr)):
-    if arr[j] != '':
-        ans += int(arr[j])
-print(ans)
diff --git a/Python_BOJ_2021/8949.py b/Python_BOJ_2021/8949.py
deleted file mode 100644
index 2de97eb..0000000
--- a/Python_BOJ_2021/8949.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 대충 더해
-import sys
-a, b = map(int, sys.stdin.readline().rstrip().split())
-ans = list()
-
-while a or b:
-    ans.append(str(a % 10 + b % 10))
-    a //= 10
-    b //= 10
-
-print(''.join(ans[::-1]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/8958.py b/Python_BOJ_2021/8958.py
deleted file mode 100644
index b23c9a3..0000000
--- a/Python_BOJ_2021/8958.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# OX 퀴즈
-
-n = int(input())
-
-quiz = []
-for i in range(n):
-    quiz = list(input())
-
-    cnt = 0
-    sum = 0
-
-    for i in range(len(quiz)):
-        if quiz[i] == 'O':
-            cnt += 1
-            sum += cnt
-        elif quiz[i] == 'X':
-            cnt = 0
-            sum += cnt
-
-    print(sum)
\ No newline at end of file
diff --git a/Python_BOJ_2021/8958_2.py b/Python_BOJ_2021/8958_2.py
deleted file mode 100644
index a462954..0000000
--- a/Python_BOJ_2021/8958_2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = list(map(str, input()))
-    ans = 0
-    cnt = 1
-    for i in s:
-        if i == 'O':
-            ans += cnt
-            cnt += 1
-        elif i == 'X':
-            cnt = 1
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/8980.py b/Python_BOJ_2021/8980.py
deleted file mode 100644
index e228cb6..0000000
--- a/Python_BOJ_2021/8980.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 택배
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, c = map(int, input().split())
-m = int(input())
-arr = [list(map(int, input().split())) for _ in range(m)]
-arr.sort(key=lambda x:x[1])
-
-truck = [0] * (n+1)
-ans = 0
-
-for i in range(m):
-    get = 0
-    from_pack = arr[i][0]
-    to_pack = arr[i][1]
-    val_pack = arr[i][2]
-
-    for j in range(from_pack, to_pack):
-        get = max(get, truck[j])
-
-    get = min(c - get, val_pack)
-    ans += get
-
-    for j in range(from_pack, to_pack):
-        truck[j] += get
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/9009.py b/Python_BOJ_2021/9009.py
deleted file mode 100644
index fd6cd89..0000000
--- a/Python_BOJ_2021/9009.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 피보나치
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = [1, 2]
-for i in range(2, 44):
-    arr.append(arr[i-2] + arr[i-1])
-
-for _ in range(int(input())):
-    n = int(input())
-    ans = list()
-    while n:
-        for j in range(44):
-            if arr[j] <= n:
-                tmp = arr[j]
-        n -= tmp
-        ans.append(tmp)
-        ans.sort()
-
-    for k in range(len(ans)):
-        print(ans[k], end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2021/9012.py b/Python_BOJ_2021/9012.py
deleted file mode 100644
index 0bf6c13..0000000
--- a/Python_BOJ_2021/9012.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 괄호
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def check(arr):
-    tmp = []
-
-    for i in range(len(arr)):
-        if arr[i] == '(':
-            tmp.append(arr[i])
-        else:
-            if len(tmp) == 0:
-                print('NO')
-                return
-            else:
-                tmp.pop()
-
-    if len(tmp) == 0:
-        print('YES')
-        return
-    else:
-        print('NO')
-        return
-
-
-for _ in range(int(input())): check(input())
\ No newline at end of file
diff --git a/Python_BOJ_2021/9020.py b/Python_BOJ_2021/9020.py
deleted file mode 100644
index 68e4e97..0000000
--- a/Python_BOJ_2021/9020.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 골드바흐의 추측
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def prime_list(n):
-    data = [True] * n
-    m = int(n ** 0.5)
-
-    for i in range(2, m + 1):
-        if data[i]:
-            for j in range(i + i, n, i):
-                data[j] = False
-    return data
-
-
-def gold(primes, n):
-    i = 0
-    while True:
-        if primes[n // 2 - i] and primes[n // 2 + i]:
-            return (n // 2 - i, n // 2 + i)
-        i += 1
-
-
-a_list = prime_list(10001)
-for _ in range(int(input())):
-    n = int(input())
-    answer = gold(a_list, n)
-    print(answer[0], answer[1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/9046.py b/Python_BOJ_2021/9046.py
deleted file mode 100644
index db0303d..0000000
--- a/Python_BOJ_2021/9046.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 복호화
-
-for _ in range(int(input())):
-    s = list(map(str, input()))
-    arr = [0 for _ in range(26)]
-
-    for i in range(len(s)):
-        if s[i] == " ": continue
-        arr[ord(s[i]) - 97] += 1
-    cnt = 0
-    for i in range(26):
-        if max(arr) == arr[i]:
-            cnt += 1
-            tmp = i
-
-    if cnt == 1:
-        print(chr(tmp + 97))
-    else:
-        print('?')
diff --git a/Python_BOJ_2021/9047.py b/Python_BOJ_2021/9047.py
deleted file mode 100644
index f71b898..0000000
--- a/Python_BOJ_2021/9047.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 6174
-import sys
-input = lambda : sys.stdin.readline()
-
-for _ in range(int(input())):
-    arr = int(input())
-    cnt = 0
-
-    if arr == 6174:
-        print(0)
-    else:
-        tmp = sorted(list(str(arr)))
-        while True:
-            max_tmp = int(''.join(tmp[::-1]))
-            min_tmp = int(''.join(tmp[::]))
-            ans = max_tmp - min_tmp
-
-            if ans == 6174:
-                cnt += 1
-                break
-            else:
-                tmp = sorted(list(str(ans)))
-                if len(tmp) < 4:
-                    k = len(tmp)
-                    tmp += ['0'] * (4 - k)
-                tmp.sort()
-            cnt += 1
-        print(cnt)
-
diff --git a/Python_BOJ_2021/9086.py b/Python_BOJ_2021/9086.py
deleted file mode 100644
index 23e85cc..0000000
--- a/Python_BOJ_2021/9086.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 문자열
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    s = input()
-    print(s[0]+s[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2021/9095.py b/Python_BOJ_2021/9095.py
deleted file mode 100644
index e1a9d93..0000000
--- a/Python_BOJ_2021/9095.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 1,2,3 더하기
-
-
-def find(n):
-    cnt = [0] * 100
-    cnt[1] = 1
-    cnt[2] = 2
-    cnt[3] = 4
-
-    for i in range(4, n+1):
-        cnt[i] = cnt[i-1] + cnt[i-2] + cnt[i-3]
-    return cnt[n]
-
-
-nums = []
-
-for _ in range(int(input())):
-    n = int(input())
-    nums.append(int(n))
-
-for i in range(0, len(nums)):
-    print(find(nums[i]))
\ No newline at end of file
diff --git a/Python_BOJ_2021/9205.py b/Python_BOJ_2021/9205.py
deleted file mode 100644
index 1c7ea7d..0000000
--- a/Python_BOJ_2021/9205.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 맥주 마시면서 걸어가기
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-
-def check(point1, point2):
-    dist = abs(point1[0] - point2[0]) + abs(point1[1] - point2[1])
-    if dist <= 1000:
-        return True
-    else:
-        return False
-
-
-def bfs(start):
-    queue = deque()
-    queue.append(start)
-    visited[start] = True
-
-    while queue:
-        pos = queue.popleft()
-        for i in edges[pos]:
-            if not visited[i]:
-                queue.append(i)
-                visited[i] = True
-
-
-for _ in range(int(input())):
-    n = int(input())
-    graph = [list(map(int, input().split())) for _ in range(n + 2)]
-    edges = [[] for _ in range(n + 2)]
-    visited = [False for _ in range(n + 2)]
-
-    for i in range(n + 2):
-        for j in range(n + 2):
-            if i != j:
-                if check(graph[i], graph[j]):
-                    edges[i].append(j)
-    bfs(0)
-
-    if visited[n + 1]:
-        print("happy")
-    else:
-        print("sad")
\ No newline at end of file
diff --git a/Python_BOJ_2021/9243.py b/Python_BOJ_2021/9243.py
deleted file mode 100644
index 76a00e7..0000000
--- a/Python_BOJ_2021/9243.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 파일 완전 삭제
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n = int(input())
-s, d = list(map(str, input())), list(map(str, input()))
-
-for i in range(n):
-    for j in range(len(s)):
-        if s[j] == '1':
-            s[j] = '0'
-        elif s[j] == '0':
-            s[j] = '1'
-
-if s == d:
-    print("Deletion succeeded")
-else:
-    print('Deletion failed')
\ No newline at end of file
diff --git a/Python_BOJ_2021/9251.py b/Python_BOJ_2021/9251.py
deleted file mode 100644
index b1c9197..0000000
--- a/Python_BOJ_2021/9251.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# LCS - Longest Common Subsequence
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-a = ' '+input()
-b = ' '+input()
-
-dp = [[0] * len(b) for _ in range(len(a))]
-ans = 0
-
-for i in range(1, len(a)):
-    for j in range(1, len(b)):
-        if a[i] == b[j]:
-            dp[i][j] = dp[i-1][j-1] + 1
-        else:
-            dp[i][j] = max(dp[i][j-1], dp[i-1][j])
-
-    ans = max(ans, max(dp[i]))
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/9252.py b/Python_BOJ_2021/9252.py
deleted file mode 100644
index 53c9948..0000000
--- a/Python_BOJ_2021/9252.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# LCS 2
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = list(input())
-arr2 = list(input())
-
-dp = [[0] * (len(arr2) + 1) for _ in range(len(arr) + 1)]
-strdp = [[""] * (len(arr2) + 1) for _ in range(len(arr) + 1)]
-
-for i in range(1, len(arr) + 1):
-    for j in range(1, len(arr2) + 1):
-        if arr[i - 1] == arr2[j - 1]:
-            dp[i][j] = dp[i - 1][j - 1] + 1
-            strdp[i][j] = strdp[i - 1][j - 1] + arr[i - 1]
-        else:
-            if dp[i - 1][j] > dp[i][j - 1]:
-                dp[i][j] = dp[i - 1][j]
-                strdp[i][j] = strdp[i - 1][j]
-            else:
-                dp[i][j] = dp[i][j - 1]
-                strdp[i][j] = strdp[i][j - 1]
-
-print(dp[len(arr)][len(arr2)])
-print(strdp[len(arr)][len(arr2)])
\ No newline at end of file
diff --git a/Python_BOJ_2021/9417.py b/Python_BOJ_2021/9417.py
deleted file mode 100644
index 0b6b252..0000000
--- a/Python_BOJ_2021/9417.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 최대 GCD
-from math import gcd
-
-n = int(input())
-for _ in range(n):
-    arr = list(map(int, input().split()))
-    max_gcd = 1
-    for i in range(len(arr) - 1):
-        for j in range(i + 1, len(arr)):
-            this_gcd = gcd(arr[i], arr[j])
-            if this_gcd > max_gcd:
-                max_gcd = this_gcd
-    print(max_gcd)
\ No newline at end of file
diff --git a/Python_BOJ_2021/9440.py b/Python_BOJ_2021/9440.py
deleted file mode 100644
index 019e234..0000000
--- a/Python_BOJ_2021/9440.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 숫자 더하기
-import sys
-
-def make_sentence(arr):
-    tmp, tmp2 = '', ''
-    for i in range(len(arr)):
-        if i % 2 == 0:
-            tmp += str(arr[i])
-        else:
-            tmp2 += str(arr[i])
-
-    print(int(tmp) + int(tmp2))
-
-while True:
-    s = list(map(int, sys.stdin.readline().rstrip().split()))
-    if s[0] == 0: break
-    arr = []
-    zero_cnt = 0
-
-    for i in range(1, len(s)):
-        if s[i] == 0: zero_cnt += 1
-        arr.append(s[i])
-    arr.sort()
-
-    arr2 = []
-    if zero_cnt > 0: # 0을 안에 넣어줘야 함
-        for i in range(zero_cnt, zero_cnt + 2):
-            arr2.append(arr[i])
-        for i in range(zero_cnt):
-            arr2.append(arr[i])
-        for i in range(zero_cnt + 2, len(arr)):
-            arr2.append(arr[i])
-        make_sentence(arr2)
-    else:
-        make_sentence(arr)
diff --git a/Python_BOJ_2021/9461.py b/Python_BOJ_2021/9461.py
deleted file mode 100644
index a11f7f3..0000000
--- a/Python_BOJ_2021/9461.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 파도반 수열
-
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-p = [0, 1, 1, 1, 2, 2, 3, 4, 5]
-
-
-def padovan_seq(n):
-    for i in range(9, n+1):
-        ans = p[i-5] + p[i-1]
-        p.append(ans)
-    return p
-
-
-padovan_seq(1000)
-for _ in range(int(input())):
-    n = int(input())
-    print(p[n])
\ No newline at end of file
diff --git a/Python_BOJ_2021/9466.py b/Python_BOJ_2021/9466.py
deleted file mode 100644
index d6a3974..0000000
--- a/Python_BOJ_2021/9466.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 팀 프로젝트
-import sys
-sys.setrecursionlimit(100001)
-input = lambda: sys.stdin.readline().rstrip()
-
-
-def dfs(n):
-    global ans
-    visited[n] = True
-    loop.append(n)
-    num = arr[n]
-
-    if visited[num]:
-        if num in loop:
-            ans += loop[loop.index(num):]
-        return
-    else:
-        dfs(num)
-
-
-for _ in range(int(input())):
-    n = int(input())
-    arr = [0] + list(map(int, input().split()))
-    visited = [True] + [False] * n
-    ans = list()
-
-    for i in range(1, n + 1):
-        if not visited[i]:
-            loop = list()
-            dfs(i)
-    print(n - len(ans))
-
-
-'''
-3 1 3 7 3 4 6
-'''
\ No newline at end of file
diff --git a/Python_BOJ_2021/9536.py b/Python_BOJ_2021/9536.py
deleted file mode 100644
index b699300..0000000
--- a/Python_BOJ_2021/9536.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 여우는 어떻게 울지?
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-for _ in range(int(input())):
-    animal_sounds = list(input().split())
-
-    sounds = list()
-    while True:
-        animal = list(input().split())
-        if len(animal) > 3:
-            break
-        sounds.append(animal[2])
-
-    for s in sounds:
-        ans = list()
-        for i in animal_sounds:
-            if i != s:
-                ans.append(i)
-        animal_sounds = ans
-
-    print(*ans)
\ No newline at end of file
diff --git a/Python_BOJ_2021/9742.py b/Python_BOJ_2021/9742.py
deleted file mode 100644
index 19ea5bd..0000000
--- a/Python_BOJ_2021/9742.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 순열
-import sys
-from itertools import permutations
-input = lambda :sys.stdin.readline().rstrip()
-
-while True:
-    try:
-        s, n = input().split()
-    except:
-        break
-
-    answer = [0]
-    for i in permutations(s, int(len(s))):
-        answer.append(''.join(i))
-
-    if len(answer) < int(n):
-        print(f'{s} {n} = No permutation')
-    else:
-        print(f'{s} {n} = {answer[int(n)]}')
\ No newline at end of file
diff --git a/Python_BOJ_2021/9933.py b/Python_BOJ_2021/9933.py
deleted file mode 100644
index 4b77190..0000000
--- a/Python_BOJ_2021/9933.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 민균이의 비밀번호
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    arr.append(input())
-
-
-def pelin(cha):
-    res = ''
-    for i in range(len(cha)-1, -1, -1):
-        res += cha[i]
-    return res
-
-
-tmp = []
-for i in range(len(arr)):
-    tmp.append(pelin(arr[i]))
-
-ans = ''
-for i in range(len(arr)):
-    for j in range(i, len(tmp)):
-        if tmp[j] == arr[i]:
-            ans = tmp[j]
-
-print(len(ans), end=' ')
-print(ans[(len(ans) -1) // 2])
\ No newline at end of file
diff --git a/Python_BOJ_2022/1065.py b/Python_BOJ_2022/1065.py
deleted file mode 100644
index b6bf9ab..0000000
--- a/Python_BOJ_2022/1065.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 블랙잭
-n, m = map(int, input().split())
-cards = list(map(int, input().split()))
-
-# n장의 카드 중 3장을 골라 m과 최대한 가까운 수를 만들기
-tmp = 0
-ans = -9990
-for i in range(len(cards)):
-    for j in range(i + 1, len(cards)):
-        for k in range(j + 1, len(cards)):
-            tmp = cards[i] + cards[j] + cards[k]
-            if tmp <= m:
-                ans = max(ans, tmp)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/10828.py b/Python_BOJ_2022/10828.py
deleted file mode 100644
index 1769aba..0000000
--- a/Python_BOJ_2022/10828.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 스택
-import sys
-input = lambda: sys.stdin.readlines().rstrip()
-
-stack = list()
-for _ in range(int(input())):
-    cmd = input().split()
-
-    if cmd[0] == 'push':
-        stack.append(int(cmd[1]))
-        
-    elif cmd[0] == 'pop':
-        if len(stack) == 0:
-            print(-1)
-        else:
-            tmp = stack.pop()
-            print(tmp)
-    elif cmd[0] == 'size':
-        print(len(stack))
-    elif cmd[0] == 'empty':
-        if len(stack):
-            print(0)
-        else:
-            print(1)
-    elif cmd[0] == 'top':
-        if len(stack) == 0:
-            print(-1)
-        else:
-            print(stack[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2022/10845.py b/Python_BOJ_2022/10845.py
deleted file mode 100644
index c79586f..0000000
--- a/Python_BOJ_2022/10845.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 큐
-import sys
-from collections import deque
-input = lambda : sys.stdin.readline().rstrip()
-
-queue = deque()
-for _ in range(int(input())):
-    cmd = list(input().split())
-    
-    if cmd[0] == 'push':
-        queue.append(cmd[1])
-    elif cmd[0] == 'pop':
-        if len(queue):
-            print(queue.popleft())
-        else:
-            print(-1)
-    elif cmd[0] == 'size':
-        print(len(queue))
-    elif cmd[0] == 'empty':
-        if len(queue):
-            print(0)
-        else:
-            print(1)
-    elif cmd[0] == 'front':
-        if len(queue):
-            print(queue[0])
-        else:
-            print(-1)
-    elif cmd[0] == 'back':
-        if len(queue):
-            print(queue[-1])
-        else:
-            print(-1)
diff --git a/Python_BOJ_2022/10870.py b/Python_BOJ_2022/10870.py
deleted file mode 100644
index c32fc51..0000000
--- a/Python_BOJ_2022/10870.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 피보나치 수5
-
-n = int(input())
-
-def fibonacci(n):
-    if n == 0:
-        return 0
-    elif n == 1:
-        return 1
-    else:
-        return fibonacci(n - 1) + fibonacci(n - 2)
-
-print(fibonacci(n))
\ No newline at end of file
diff --git a/Python_BOJ_2022/10872.py b/Python_BOJ_2022/10872.py
deleted file mode 100644
index 2cca780..0000000
--- a/Python_BOJ_2022/10872.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 팩토리얼
-import sys
-sys.setrecursionlimit(100000)
-insert = int(input())
-
-def factorial(i):
-    if i <= 1:
-        return 1
-    else:
-        return i * factorial(i - 1)
-
-print(factorial(insert))
\ No newline at end of file
diff --git a/Python_BOJ_2022/11000.py b/Python_BOJ_2022/11000.py
deleted file mode 100644
index 0b92c9d..0000000
--- a/Python_BOJ_2022/11000.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 강의실 배정
-import heapq
-
-n = int(input())
-timeTable = list()
-for i in range(n):
-    start, end = map(int, input().split())
-    timeTable.append([start, end])
-
-timeTable.sort()
-
-cnt, ans = 0, 0
-tmp = list()
-
-for i in range(n):
-    cnt += 1
-    heapq.heappush(tmp, timeTable[i][1])
-    while timeTable[i][0] >= tmp[0]:
-        cnt -= 1
-        heapq.heappop(tmp)
-    ans = max(ans, cnt)
-
-print(ans)
diff --git a/Python_BOJ_2022/11047.py b/Python_BOJ_2022/11047.py
deleted file mode 100644
index 98ae2b7..0000000
--- a/Python_BOJ_2022/11047.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 동전0
-n, k = map(int, input().split())
-pouch = list()
-
-for _ in range(n):
-    pouch.append(int(input()))
-
-
-def solution(input_val):
-    global pouch
-    new_pouch = pouch[::-1]
-    ans = 0
-    for i in range(len(new_pouch)):
-        if new_pouch[i] > input_val:
-            continue
-        else:
-            cnt = input_val // new_pouch[i]
-            input_val -= new_pouch[i] * cnt
-        ans += cnt
-    print(ans)
-
-
-solution(k)
\ No newline at end of file
diff --git a/Python_BOJ_2022/11179.py b/Python_BOJ_2022/11179.py
deleted file mode 100644
index 88d74e9..0000000
--- a/Python_BOJ_2022/11179.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# 2진수 뒤집기
-binary = list(map(str, format(int(input()), 'b')))
-ans = int(''.join(binary[::-1]), 2)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/11279.py b/Python_BOJ_2022/11279.py
deleted file mode 100644
index 47b555e..0000000
--- a/Python_BOJ_2022/11279.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 최대 힙
-import heapq, sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    num = int(input())
-    if num == 0:
-        if len(arr):
-            print(heapq.heappop(arr)[1])
-        else:
-            print(0)
-    else:
-        heapq.heappush(arr, (-num, num))
\ No newline at end of file
diff --git a/Python_BOJ_2022/11286.py b/Python_BOJ_2022/11286.py
deleted file mode 100644
index 4a60402..0000000
--- a/Python_BOJ_2022/11286.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 절대값 힙
-import heapq, sys
-input = lambda: sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    a = int(input())
-    if a == 0:
-        if not len(arr):
-            print(0)
-        else:
-            print(heapq.heappop(arr)[1])
-    else:
-        heapq.heappush(arr, (abs(a), a))
\ No newline at end of file
diff --git a/Python_BOJ_2022/11497.py b/Python_BOJ_2022/11497.py
deleted file mode 100644
index 3ce309c..0000000
--- a/Python_BOJ_2022/11497.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 통나무
-
-for _ in range(int(input())):
-    n = int(input())
-    arr = list(map(int, input().split()))
-    arr.sort()
-
-    front = 0
-    back = n - 1
-    tmp_arr = [0] * n
-
-    for i in range(n):
-        if i % 2 == 0:
-            tmp_arr[front] = arr[i]
-            front += 1
-        else:
-            tmp_arr[back] = arr[i]
-            back -= 1
-
-    ans = -999999999999
-
-    for i in range(n - 1):
-        ans = max(abs(tmp_arr[i + 1] - tmp_arr[i]), ans)
-
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/11652.py b/Python_BOJ_2022/11652.py
deleted file mode 100644
index db90976..0000000
--- a/Python_BOJ_2022/11652.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 카드
-import sys
-input = lambda:sys.stdin.readline().rstrip()
-dic = dict()
-
-for _ in range(int(input())):
-    n = int(input())
-    if n in dic:
-        dic[n] += 1
-    else:
-        dic[n] = 1
-
-result = sorted(dic.items(), key= lambda item: (-item[1], item[0]))
-print(result[0][0])
\ No newline at end of file
diff --git a/Python_BOJ_2022/11724.py b/Python_BOJ_2022/11724.py
deleted file mode 100644
index cda9c80..0000000
--- a/Python_BOJ_2022/11724.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 연결 요소의 개수
-
-n, m = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-visit = [0] * (n + 1)
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-def dfs(n):
-    visit[n] = 1
-    for i in graph[n]:
-        if not visit[i]:
-            dfs(i)
-
-ans = 0
-for i in range(1, n + 1):
-    if not visit[i]:
-        dfs(i)
-        ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1260.py b/Python_BOJ_2022/1260.py
deleted file mode 100644
index aa8ebd8..0000000
--- a/Python_BOJ_2022/1260.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# DFS와 BFS
-n, m, start = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-
-for _ in range(m):
-    from_, to_ = map(int, input().split())
-    graph[from_].append(to_)
-    graph[to_].append(from_)
-
-    graph[from_].sort()
-    graph[to_].sort()
-
-visited = [False] * (n + 1)
-
-def dfs(node):
-    visited[node] = True
-    print(node, end=' ')
-
-    for i in graph[node]:
-        if not visited[i]:
-            dfs(i)
-
-dfs(start)
-print()
-from collections import deque
-visited2 = [False] * (n + 1)
-def bfs(node):
-    visited2[node] = True
-    queue = deque()
-    queue.append(node)
-    while queue:
-        x = queue.popleft()
-        print(x, end=' ')
-        for i in graph[x]:
-            if not visited2[i]:
-                queue.append(i)
-                visited2[i] = True
-
-bfs(start)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1269.py b/Python_BOJ_2022/1269.py
deleted file mode 100644
index c3d6bb8..0000000
--- a/Python_BOJ_2022/1269.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 대칭 차집합
-import sys
-input = lambda : sys.stdin.readline()
-
-n, m = map(int, input().split())
-arr_1 = set(map(int, input().split()))
-arr_2 = set(map(int, input().split()))
-ans = len(arr_1 ^ arr_2)
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1388.py b/Python_BOJ_2022/1388.py
deleted file mode 100644
index f73cedd..0000000
--- a/Python_BOJ_2022/1388.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 바닥장식
-n, m = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(n)]
-
-# 수평을 체크
-def dfs_hori(x, y):
-    if 0 <= x < n and 0 <= y < m:
-        if graph[x][y] == "-":
-            graph[x][y] = "x"
-            dfs_hori(x, y - 1)
-            dfs_hori(x, y + 1)
-            return
-    else:
-        return
-
-# 수직을 체크
-def dfS_vert(x, y):
-    if 0 <= x < n and 0 <= y < m:
-        if graph[x][y] == "|":
-            graph[x][y] = "x"
-            dfS_vert(x - 1, y)
-            dfS_vert(x + 1, y)
-            return
-    else:
-        return
-
-cnt = 0
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == "-":
-            dfs_hori(i, j)
-            cnt += 1
-        elif graph[i][j] == "|":
-            dfS_vert(i, j)
-            cnt += 1
-
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2022/14502.py b/Python_BOJ_2022/14502.py
deleted file mode 100644
index f60243a..0000000
--- a/Python_BOJ_2022/14502.py
+++ /dev/null
@@ -1,70 +0,0 @@
-# 연구소
-from collections import deque
-import sys
-sys.setrecursionlimit(100001)
-input = lambda: sys.stdin.readline().rstrip()
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-tmp_graph = [[0] * m for _ in range(n)]
-
-# 방향
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-# 안전지대를 카운트한다
-def safeAreaCnt():
-    cnt = 0
-    for i in range(n):
-        for j in range(m):
-            if tmp_graph[i][j] == 0:
-                cnt += 1
-    
-    return cnt
-
-
-# 바이러스가 퍼진다 - bfs
-def spreadVirus(x, y):
-    queue = deque()
-    queue.append((x, y))
-    while queue:
-        xx, yy = queue.popleft()
-        for i in range(4):
-            nx, ny = xx + dx[i], yy + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if tmp_graph[nx][ny] == 0:
-                    tmp_graph[nx][ny] = 2
-                    queue.append((nx, ny))
-
-# 벽을 친다 - 재귀
-ans = 0
-def recursive(depth):
-    global ans
-    # 벽을 3개 세웠을 때
-    if depth == 3:
-        # 그 그래프를 임시 그래프에 복사해서
-        for i in range(n):
-            for j in range(m):
-                tmp_graph[i][j] = graph[i][j]
-        
-        # 바이러스가 있는 자리에서 바이러스를 한번 퍼트려본다
-        for i in range(n):
-            for j in range(m):
-                if tmp_graph[i][j] == 2:
-                    spreadVirus(i, j)
-        
-        # 안전 지대의 갯수를 최댓값이 되도록 계속 업데이트
-        ans = max(ans, safeAreaCnt())
-        return
-
-    # 빈공간에 한번 벽을 새워본다
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 0:
-                graph[i][j] = 1
-                depth += 1
-                recursive(depth)
-                graph[i][j] = 0
-                depth -= 1
-
-recursive(0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/14716.py b/Python_BOJ_2022/14716.py
deleted file mode 100644
index 29e01d3..0000000
--- a/Python_BOJ_2022/14716.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 현수막
-from collections import deque
-
-m, n = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(m)]
-visited = [[False] * n for _ in range(m)]
-dx, dy = [-1, 1, 0, 0, -1, 1, -1, 1], [0, 0, -1, 1, -1, -1, 1, 1]
-
-def bfs(i, j):
-    queue = deque()
-    queue.append((i, j))
-    while queue:
-        x, y = queue.popleft()
-        for i in range(8):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < m and 0 <= ny < n:
-                if not visited[nx][ny]:
-                    if graph[nx][ny] == 1:
-                        visited[nx][ny] = True
-                        queue.append((nx, ny))
-
-ans = 0
-for i in range(m):
-    for j in range(n):
-        if graph[i][j] == 1 and not visited[i][j]:
-            bfs(i, j)
-            ans += 1
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/14891.py b/Python_BOJ_2022/14891.py
deleted file mode 100644
index 942cc7a..0000000
--- a/Python_BOJ_2022/14891.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# 톱니바퀴
-from collections import deque
-
-wheels = [deque(map(int, input())) for _ in range(4)]
-print(wheels)
-
-def cw(num, dir):
-    global wheels
-    if num == 4:
-        return
-    if wheels[num - 1][2] != wheels[num][6]:
-        cw(num + 1, -dir)
-        wheels[num].rotate(dir)
-    else:
-        return
-
-def ccw(num, dir):
-    global wheels
-    if num == -1:
-        return
-    if wheels[num + 1][6] != wheels[num][2]:
-        ccw(num - 1, -dir)
-        wheels[num].rotate(dir)
-    else:
-        return
-
-ans = 0
-for _ in range(int(input())):
-    wheel, dir = map(int, input().split())
-    cw(wheel, -dir)
-    ccw(wheel - 2, -dir)
-    wheels[wheel - 1].rotate(dir)
-
-for i in range(4):
-    ans += (2 ** i) * wheels[i][0]
-
-print(ans)
diff --git a/Python_BOJ_2022/1520.py b/Python_BOJ_2022/1520.py
deleted file mode 100644
index 7a541ca..0000000
--- a/Python_BOJ_2022/1520.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 내리막 길
-import sys
-sys.setrecursionlimit(10 ** 5)
-
-m, n = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(m)]
-visited = [[-1 for _ in range(n)] for _ in range(m)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1 ,1]
-
-# 이 알고리즘의 경우 TO가 난다.
-# DFS + DP를 이용
-
-def dfs(x, y):
-    if x == m - 1 and y == n - 1:
-        return 1
-    if visited[x][y] != -1:
-        return visited[x][y]
-    visited[x][y] = 0
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < m and 0 <= ny < n:
-            if graph[nx][ny] < graph[x][y]:
-                visited[x][y] += dfs(nx, ny)
-    return visited[x][y]
-
-print(dfs(0, 0))
\ No newline at end of file
diff --git a/Python_BOJ_2022/15649.py b/Python_BOJ_2022/15649.py
deleted file mode 100644
index 7ef4425..0000000
--- a/Python_BOJ_2022/15649.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# N과 M(1)
-import sys
-sys.setrecursionlimit(10000001)
-
-n, m = map(int, input().split())
-ans = [0] * m
-chk = [False] * (n + 1)
-
-def recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    
-    for i in range(1, n + 1):
-        if chk[i]:
-            continue
-        ans[depth] = i
-        chk[i] = True
-        recursive(depth + 1)
-        chk[i] = False
-
-recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15650.py b/Python_BOJ_2022/15650.py
deleted file mode 100644
index 537af3f..0000000
--- a/Python_BOJ_2022/15650.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# N과 M(2)
-n, m = map(int, input().split())
-ans = [0] * m
-
-def recursive(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    
-    for i in range(start, n + 1):
-
-        ans[depth] = i
-        recursive(depth + 1, i + 1)
-
-
-recursive(0, 1)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15651.py b/Python_BOJ_2022/15651.py
deleted file mode 100644
index 86a511d..0000000
--- a/Python_BOJ_2022/15651.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# N과 M(3)
-import sys
-
-n, m = map(int, sys.stdin.readline().split())
-
-ans = [0] * (n + 1)
-
-def recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    
-    for i in range(1, n + 1):
-        ans[depth] = i
-        recursive(depth + 1)
-
-recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15651_2.py b/Python_BOJ_2022/15651_2.py
deleted file mode 100644
index a44a4eb..0000000
--- a/Python_BOJ_2022/15651_2.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# N과 M(3)
-import sys
-sys.setrecursionlimit(10 ** 6)
-
-n, m = map(int, input().split())
-ans = [0] * m
-
-def recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    for i in range(1, n + 1):
-        ans[depth] = i
-        recursive(depth + 1)
-
-recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15652.py b/Python_BOJ_2022/15652.py
deleted file mode 100644
index e83936d..0000000
--- a/Python_BOJ_2022/15652.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# N과 M(4)
-
-n, m = map(int, input().split())
-
-ans = [0] * (n + 1)
-
-def recursive(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    
-    for i in range(start, n + 1):
-        ans[depth] = i
-        recursive(depth + 1, i)
-
-
-recursive(0, 1)
diff --git a/Python_BOJ_2022/15652_2.py b/Python_BOJ_2022/15652_2.py
deleted file mode 100644
index 49d3e2c..0000000
--- a/Python_BOJ_2022/15652_2.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# N과 M(4)
-
-n, m = map(int, input().split())
-ans = [0] * m
-
-def recursive(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-
-    for i in range(start, n + 1):
-        ans[depth] = i
-        recursive(depth + 1, i)
-
-recursive(0, 1)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15655.py b/Python_BOJ_2022/15655.py
deleted file mode 100644
index f8c4524..0000000
--- a/Python_BOJ_2022/15655.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# N과 M(6)
-
-n, m = map(int, input().split())
-nums = list(map(int, input().split()))
-nums.sort()
-
-ans = [0] * m
-
-def recursive(depth, start):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    
-    for i in range(start, n + 1):
-        ans[depth] = nums[i - 1]
-        recursive(depth + 1, i + 1)
-
-recursive(0, 1)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15663.py b/Python_BOJ_2022/15663.py
deleted file mode 100644
index e58095d..0000000
--- a/Python_BOJ_2022/15663.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# N과 M(9)
-
-n, m = map(int, input().split())
-nums = list(map(int, input().split()))
-nums.sort()
-
-chk = [False] * (n + 1)
-ans = [0] * m
-
-def recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-        
-    tmp_num = 0
-    for i in range(n):
-        if chk[i]:
-            continue
-        elif tmp_num != nums[i]:
-            chk[i] = True
-            ans[depth] = nums[i]
-            tmp_num = nums[i]
-            recursive(depth + 1)
-            chk[i] = False
-
-recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2022/15686.py b/Python_BOJ_2022/15686.py
deleted file mode 100644
index 5fb1b57..0000000
--- a/Python_BOJ_2022/15686.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# 치킨배달
-import sys
-sys.setrecursionlimit(10000001)
-# (r1, c1) (r2, c2) >> |r1 - r2| + |c1 - c2|
-
-n, m = map(int, input().split()) # 마을 크기 n x n / 치킨집 갯수
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-home, kfc = [], [] # 집과 kfc 좌표 저장할 리스트
-ans = 123456789
-kfc_nums = []
-
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 1:
-            home.append((i + 1, j + 1))
-        elif graph[i][j] == 2:
-            kfc.append((i + 1, j + 1))
-
-
-def solve(kfc_num, kfc_cnt): # kfc 몇 호점인지 나타내는 숫자, kfc갯수
-    global ans
-    # 기저조건
-    if kfc_num > len(kfc):
-        return
-    if kfc_cnt == m:
-        tmp = 0
-        for x, y in home:
-            min_distance = 123456789
-            for i in kfc_nums: # 선택된 치킨집들
-                kfc_x, kfc_y = kfc[i]
-                min_distance = min(min_distance, abs(x - kfc_x) + abs(y - kfc_y))
-            tmp += min_distance
-        ans = min(ans, tmp)
-        return
-
-    kfc_nums.append(kfc_num)
-    solve(kfc_num + 1, kfc_cnt + 1)
-    kfc_nums.pop()
-    solve(kfc_num + 1, kfc_cnt)
-
-solve(0, 0)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1764.py b/Python_BOJ_2022/1764.py
deleted file mode 100644
index be29321..0000000
--- a/Python_BOJ_2022/1764.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 듣보잡
-n, m = map(int, input().split()) # 듣, 보
-
-never_hear_see = {}
-ans = []
-
-for i in range(n + m):
-    name = input()
-    if name in never_hear_see:
-        ans.append(name)
-    else:
-        never_hear_see[name] = 1
-ans.sort()
-print(len(ans))
-for i in ans:
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1822.py b/Python_BOJ_2022/1822.py
deleted file mode 100644
index 2d80d12..0000000
--- a/Python_BOJ_2022/1822.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 차집합
-a, b = map(int, input().split())
-list_1 = set(map(int, input().split()))
-list_2 = set(map(int, input().split()))
-diff = list_1 - list_2
-
-if not len(diff):
-    print(0)
-else:
-    print(len(diff))
-    answer = list(diff)
-    tmp = list()
-    for i in sorted(answer):
-        tmp.append(str(i))
-    print(' '.join(tmp))
\ No newline at end of file
diff --git a/Python_BOJ_2022/1874.py b/Python_BOJ_2022/1874.py
deleted file mode 100644
index 3ae98e6..0000000
--- a/Python_BOJ_2022/1874.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 스택 수열
-cnt = 1
-tmp = []
-ans = []
-flag = True
-
-for _ in range(int(input())):
-    n = int(input())
-    while cnt <= n:
-        tmp.append(cnt)
-        ans.append('+')
-        cnt += 1
-
-    if tmp[-1] == n:
-        tmp.pop()
-        ans.append('-')
-    else:
-        flag = False
-
-if not flag:
-    print("NO")
-else:
-    for i in ans:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1920.py b/Python_BOJ_2022/1920.py
deleted file mode 100644
index 97c19fa..0000000
--- a/Python_BOJ_2022/1920.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 수 찾기
-n = int(input())
-lis = list(map(int, input().split()))
-lis.sort()
-m = int(input())
-fin = list(map(int, input().split()))
-
-def binary_search(arr, target, start, end):
-    while start <= end:
-        mid = (start + end) // 2
-        if arr[mid] == target:
-            return mid
-        elif arr[mid] > target:
-            end = mid - 1
-        else:
-            start = mid + 1
-
-    return None
-
-for i in fin:
-    res = binary_search(lis, i, 0, n - 1)
-    if res != None:
-        print(1)
-    else:
-        print(0)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1920_2.py b/Python_BOJ_2022/1920_2.py
deleted file mode 100644
index f1c0118..0000000
--- a/Python_BOJ_2022/1920_2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# 수찾기
-
-n = int(input())
-list_1 = set(map(int, input().split()))
-m = int(input())
-list_2 = list(map(int, input().split()))
-
-for i in list_2:
-    print(1 if i in list_1 else 0)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1927.py b/Python_BOJ_2022/1927.py
deleted file mode 100644
index c77354a..0000000
--- a/Python_BOJ_2022/1927.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 최소 힙
-import heapq, sys
-input = lambda : sys.stdin.readline().rstrip()
-
-arr = []
-for _ in range(int(input())):
-    num = int(input())
-    if num == 0:
-        if len(arr) != 0:
-            print(heapq.heappop(arr))
-        else:
-            print(0)
-    else:
-        heapq.heappush(arr, num)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1927_2.py b/Python_BOJ_2022/1927_2.py
deleted file mode 100644
index ec29069..0000000
--- a/Python_BOJ_2022/1927_2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 최소 힙
-import heapq
-
-arr = list()
-for _ in range(int(input())):
-    n = int(input())
-    if n == 0:
-        if len(arr) != 0:
-            print(heapq.heappop(arr))
-        else:
-            print(0)
-    else:
-        heapq.heappush(arr, n)
\ No newline at end of file
diff --git a/Python_BOJ_2022/1935.py b/Python_BOJ_2022/1935.py
deleted file mode 100644
index d4fcf9b..0000000
--- a/Python_BOJ_2022/1935.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 후위 표기식2
-n = int(input())
-s = list(map(str, input()))
-arr = []
-for _ in range(n):
-    arr.append(int(input()))
-
-op = "+-*/"
-ans = []
-
-for i in s:
-    if i in op:
-        tmp1 = ans.pop()
-        tmp2 = ans.pop()
-
-        if i == '+':
-            res = tmp1 + tmp2
-        elif i == '-':
-            res = tmp2 - tmp1
-        elif i == '*':
-            res = tmp1 * tmp2
-        else:
-            res = tmp2 / tmp1
-        ans.append(res)
-
-    else:
-        ans.append(arr[ord(i) - ord('A')])
-print("%.2f" %ans[0])
\ No newline at end of file
diff --git a/Python_BOJ_2022/1977.py b/Python_BOJ_2022/1977.py
deleted file mode 100644
index ba05d20..0000000
--- a/Python_BOJ_2022/1977.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 완전제곱수
-m = int(input())
-n = int(input())
-
-lis = []
-
-for i in range(m, n + 1):
-    sqrt = i ** (1/2)
-    if sqrt % 1 == 0:
-        lis.append(i)
-
-if len(lis):
-    print(sum(lis))
-    print(min(lis))
-else:
-    print(-1)
\ No newline at end of file
diff --git a/Python_BOJ_2022/20001.py b/Python_BOJ_2022/20001.py
deleted file mode 100644
index f1f267e..0000000
--- a/Python_BOJ_2022/20001.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 고무오리 디버깅
-
-import sys
-arr = []
-while True:
-    s = sys.stdin.readline().rstrip()
-    if s == "고무오리 디버깅 끝":
-        if len(arr) == 0:
-            print("고무오리야 사랑해")
-            break
-        else:
-            print("힝구")
-            break
-    elif s == "문제":
-        arr.append(1)
-    elif s == "고무오리":
-        if len(arr) == 0:
-            for _ in range(2):
-                arr.append(1)
-        else:
-            arr.pop()
\ No newline at end of file
diff --git a/Python_BOJ_2022/21610.py b/Python_BOJ_2022/21610.py
deleted file mode 100644
index 023ff02..0000000
--- a/Python_BOJ_2022/21610.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# 마법사 상어와 비바라기
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-from collections import deque
-
-n, m = map(int, input().split()) # graph size, turn
-graph = [list(map(int, input().split())) for _ in range(n)]
-cmd = [list(map(int, input().split())) for _ in range(m)] # 방향, 이동거리 [[1, 3], [3, 4], [8, 1], [4, 8]]
-dx, dy = [0, 0, -1, -1, -1, 0, 1, 1, 1], [0, -1, -1, 0, 1, 1, 1, 0, -1] # dx[0], dy[0]은 무시
-cloud = [(n - 1, 0), (n - 1, 1), (n - 2, 0), (n - 2, 1)]
-cloud = deque(cloud) # 맨 처음 구름 위치 (무조건 4개임)
-
-# 구름의 방향과, 이동거리가 제시되면 그만큼 이동된 구름의 위치를 찾는다.
-def move_cloud(d, dist):
-    global n
-    size = len(cloud)
-    for _ in range(size):
-        x, y = cloud.popleft()
-        nx, ny = (x + dx[d] * dist) % n, (y + dy[d] * dist) % n
-        # 왼쪽으로 이동할 경우, 위치 보정
-        if 0 > nx: nx += n
-        if 0 > ny: ny += n
-        
-        cloud.append((nx, ny))
-        visited[nx][ny] = True
-        graph[nx][ny] += 1
-
-
-# 구름이 있는 곳에서 대각선 1의 위치에 물이 있는지 체크하고 있으면 물 복사 버그 발동
-def water_magic():
-    while cloud:
-        x, y = cloud.popleft()
-        for i in range(1, 5): # 2, 4, 6, 8
-            nx, ny = x + dx[2*i], y + dy[2*i]
-            if 0 <= nx < n and 0 <= ny < n:
-                if graph[nx][ny] > 0:
-                    graph[x][y] += 1
-                
-
-for dir, mov in cmd:
-    visited = [[False] * n for _ in range(n)]
-    move_cloud(dir, mov)
-    water_magic()
-
-    for i in range(n):
-        for j in range(n):
-            if not visited[i][j] and graph[i][j] >= 2:
-                cloud.append((i, j))
-                graph[i][j] -= 2
-
-# 답 출력
-ans = 0
-for i in range(n):
-    for j in range(n):
-        ans += graph[i][j]
-
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/2164.py b/Python_BOJ_2022/2164.py
deleted file mode 100644
index 34a3398..0000000
--- a/Python_BOJ_2022/2164.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 카드2
-from collections import deque
-
-n = int(input())
-list = deque()
-for i in range(1, n + 1):
-    list.append(i)
-
-while True:
-    if len(list) == 1:
-        print(list.pop())
-        break
-    list.popleft()
-    top = list.popleft()
-    list.append(top)
\ No newline at end of file
diff --git a/Python_BOJ_2022/2178.py b/Python_BOJ_2022/2178.py
deleted file mode 100644
index ca01b8f..0000000
--- a/Python_BOJ_2022/2178.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 미로 탐색
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-def bfs():
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = 1
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny] and graph[nx][ny] == 1:
-                    queue.append((nx, ny))
-                    visited[nx][ny] = visited[x][y] + 1
-
-bfs()
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2022/2178_2.py b/Python_BOJ_2022/2178_2.py
deleted file mode 100644
index 480a380..0000000
--- a/Python_BOJ_2022/2178_2.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 미로 탐색
-from collections import deque
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-visited = [[0] * m for _ in range(n)]
-
-
-def bfs():
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = 1
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny] and graph[nx][ny] == 1:
-                    visited[nx][ny] = visited[x][y] + 1
-                    queue.append((nx, ny))
-
-
-bfs()
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2022/2468.py b/Python_BOJ_2022/2468.py
deleted file mode 100644
index 405eda5..0000000
--- a/Python_BOJ_2022/2468.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 안전 영역
-import sys
-sys.setrecursionlimit(10 ** 6)
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-# O(n ^ 2)
-def dfs(x, y, height):
-    visited[x][y] = True
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visited[nx][ny] and graph[nx][ny] > height:
-                dfs(nx, ny, height)
-
-ans = -9999
-# O(n ^ 3)
-for h in range(0, 101):
-    visited = [[False] * n for _ in range(n)]
-    cnt = 0
-    for i in range(n):
-        for j in range(n):
-            if not visited[i][j] and graph[i][j] > h:
-                visited[i][j] = True
-                cnt += 1
-                dfs(i, j, h)
-    ans = max(ans, cnt)
-print(ans)
-                
\ No newline at end of file
diff --git a/Python_BOJ_2022/2606.py b/Python_BOJ_2022/2606.py
deleted file mode 100644
index eedad52..0000000
--- a/Python_BOJ_2022/2606.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# 바이러스
-n = int(input()) # 컴퓨터 수
-c = int(input()) # 네트워크 상에서 직접 연결된 컴퓨터 쌍의 수
-graph = [[] for _ in range(n + 1)]
-
-for _ in range(c):
-    com1, com2 = map(int, input().split())
-    graph[com1].append(com2)
-    graph[com1].sort()
-    graph[com2].append(com1)
-    graph[com2].sort()
-
-ans = 0
-visited = [False] * (n + 1)
-
-def dfs(depth):
-    global ans
-    visited[depth] = True
-    for node in graph[depth]:
-        if not visited[node]:
-            dfs(node)
-            ans += 1
-
-dfs(1)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/2636.py b/Python_BOJ_2022/2636.py
deleted file mode 100644
index 6b2ba72..0000000
--- a/Python_BOJ_2022/2636.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# 치즈
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-
-# 전체 치즈 갯수가 몇갠지 맨 처음 카운트
-left_cheese = 0
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 1:
-            left_cheese += 1
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-# 치즈 테두리를 너비우선탐색으로 돌며 2로 바꿔준다
-def bfs(cheese):
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = True
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny]:
-                    visited[nx][ny] = True
-                    if graph[nx][ny] == 1:
-                        graph[nx][ny] = 2
-                        cheese -= 1
-                        # print_graph()
-                    else:
-                        queue.append((nx, ny))
-    return cheese
-
-cnt = 0
-tmp = left_cheese
-
-# def print_graph():
-#     print('===================================================')
-#     for i in range(n):
-#         for j in range(m):
-#             print(graph[i][j], end=' ')
-#         print()
-
-# 테두리 부분 치즈를 없앤다.
-def remove_cheese():
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 2:
-                graph[i][j] = 0
-
-# 치즈의 갯수가 존재하는 동안 계속 탐색
-while left_cheese:
-    visited = [[False] * m for _ in range(n)]
-    left_cheese = bfs(left_cheese)
-    if left_cheese != 0:
-        tmp = left_cheese
-    cnt += 1
-    remove_cheese()
-
-print(cnt)
-print(tmp)
\ No newline at end of file
diff --git a/Python_BOJ_2022/2667.py b/Python_BOJ_2022/2667.py
deleted file mode 100644
index 0d1ad65..0000000
--- a/Python_BOJ_2022/2667.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# 단지번호붙이기
-n = int(input())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * n for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-# DFS - 재귀를 이용한 풀이
-# cnt = 0
-# ans = []
-
-# def recursive(x, y):
-#     global cnt
-#     visited[x][y] = 1
-#     if graph[x][y] == 1:
-#         cnt += 1
-#     for i in range(4):
-#         nx, ny = x + dx[i], y + dy[i]
-#         if 0 <= nx < n and 0 <= ny <n:
-#             if not visited[nx][ny] and graph[nx][ny] == 1:
-#                 recursive(nx, ny)
-
-
-# for i in range(n):
-#     for j in range(n):
-#         if graph[i][j] == 1 and not visited[i][j]:
-#             recursive(i, j)
-#             ans.append(cnt)
-#             cnt = 0
-
-# BFS 풀이
-from collections import deque
-
-cnt = 0
-ans = []
-
-def bfs(x, y):
-    global cnt
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 1
-    if graph[x][y] == 1:
-        cnt += 1
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < n:
-                if graph[nx][ny] == 1 and not visited[nx][ny]:
-                    visited[nx][ny] = 1
-                    cnt += 1
-                    queue.append((nx, ny))
-
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 1 and not visited[i][j]:
-            bfs(i, j)
-            ans.append(cnt)
-            cnt = 0
-
-print(len(ans))
-ans.sort()
-for i in ans:
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2022/2667_2.py b/Python_BOJ_2022/2667_2.py
deleted file mode 100644
index 289fa9c..0000000
--- a/Python_BOJ_2022/2667_2.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 단지 번호 붙이기
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-n = int(input())
-graph = [list(map(int, input())) for _ in range(n)]
-visit = [[False for _ in range(n)] for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-cnt = 0
-
-def dfs(x, y):
-    global cnt
-    visit[x][y] = True
-    if graph[x][y] == 1:
-        cnt += 1
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visit[nx][ny] and graph[nx][ny] == 1:
-                dfs(nx, ny)
-
-ans = []
-for i in range(n):
-    for j in range(n):
-        if not visit[i][j] and graph[i][j] == 1:
-            dfs(i, j)
-            ans.append(cnt)
-            cnt = 0
-
-print(len(ans))
-for i in ans:
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2022/2776.py b/Python_BOJ_2022/2776.py
deleted file mode 100644
index 9580727..0000000
--- a/Python_BOJ_2022/2776.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 암기왕
-import sys
-
-input = lambda : sys.stdin.readline()
-
-for _ in range(int(input())):
-    n = int(input())
-    note_1 = set(map(int, input().split()))
-    m = int(input())
-    tmp = list(map(int, input().split()))
-
-    for i in tmp:
-        print(1 if i in note_1 else 0)
diff --git a/Python_BOJ_2022/3055.py b/Python_BOJ_2022/3055.py
deleted file mode 100644
index f88b41d..0000000
--- a/Python_BOJ_2022/3055.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# 탈출
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(n)]
-visit = [[0] * m for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-hog, water = deque(), deque()
-
-def spread_water():
-    wq_len = len(water)
-    while wq_len:
-        x, y = water.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if graph[nx][ny] == '.':
-                    graph[nx][ny] = '*'
-                    water.append((nx, ny))
-        wq_len -= 1
-
-def bfs():
-    while hog:
-        hq_len = len(hog)
-        while hq_len:
-            x, y = hog.popleft()
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-                if  0 <= nx < n and 0 <= ny < m:
-                    if not visit[nx][ny] and graph[nx][ny] == '.':
-                        visit[nx][ny] = visit[x][y] + 1
-                        hog.append((nx, ny))
-                    elif graph[nx][ny] == 'D':
-                        print(visit[x][y])
-                        return
-            hq_len -= 1
-        spread_water()
-    print("KAKTUS")
-    return
-
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 'S':
-            hog.append((i, j))
-            visit[i][j] = 1
-            graph[i][j] = '.'
-        elif graph[i][j] == '*':
-            water.append((i, j))
-
-spread_water()
-bfs()
\ No newline at end of file
diff --git a/Python_BOJ_2022/3986.py b/Python_BOJ_2022/3986.py
deleted file mode 100644
index 238fcde..0000000
--- a/Python_BOJ_2022/3986.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 좋은 단어
-
-ans = 0
-for _ in range(int(input())):
-    arr = []
-    s = input()
-    for i in range(len(s)):
-        if len(arr) == 0:
-            arr.append(s[i])
-        else:
-            if arr[-1] == s[i]:
-                arr.pop()
-            else:
-                arr.append(s[i])
-
-    if len(arr) == 0:
-        ans += 1
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2022/4673.py b/Python_BOJ_2022/4673.py
deleted file mode 100644
index 4db9ac6..0000000
--- a/Python_BOJ_2022/4673.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 셀프 넘버
-def solution(n):
-    answer = n
-    for i in range(0, len(str(n))):
-        answer += int(n/10 ** i) % 10
-    return answer
-
-lis = []
-for i in range(1, 10001):
-    lis.append(solution(i))
-
-for i in range(1, 10001):
-    if i not in lis:
-        print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2022/5988.py b/Python_BOJ_2022/5988.py
deleted file mode 100644
index 30447e1..0000000
--- a/Python_BOJ_2022/5988.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 홀수일까 짝수일까
-
-for _ in range(int(input())):
-    n = int(input())
-    if n % 2 == 0:
-        print("even")
-    else:
-        print("odd")
\ No newline at end of file
diff --git a/Python_BOJ_2022/7576.py b/Python_BOJ_2022/7576.py
deleted file mode 100644
index ae7aa5b..0000000
--- a/Python_BOJ_2022/7576.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 토마토
-from collections import deque
-
-# 입력
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(m)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-# 토마토가 익는다
-def find():
-    while queue:
-        xx, yy = queue.popleft()
-        for i in range(4):
-            nx, ny = xx + dx[i], yy + dy[i]
-            if 0 <= nx < m and 0 <= ny < n:
-                if graph[nx][ny] == 0:
-                    graph[nx][ny] = graph[xx][yy] + 1
-                    queue.append((nx, ny))
-
-
-# 토마토 존재하는 위치 체크후, 위치를 덱에 저장
-queue = deque()
-for i in range(m):
-    for j in range(n):
-        if graph[i][j] == 1:
-                queue.append((i, j))
-
-# 토마토를 익혀본다
-find()
-
-# 만약 익지 않은 토마토가 있으면 -1 출력
-for i in range(m):
-    for j in range(n):
-        if graph[i][j] == 0:
-            print(-1)
-            exit()
-
-# 토마토가 전부 익는데 걸리는 시간 확인
-ans = -123456789
-for i in range(m):
-    for j in range(n):
-        ans = max(graph[i][j], ans)
-
-print(ans - 1)
\ No newline at end of file
diff --git a/Python_BOJ_2022/9012.py b/Python_BOJ_2022/9012.py
deleted file mode 100644
index d97b04a..0000000
--- a/Python_BOJ_2022/9012.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 괄호
-def solution(data):
-    tmp = []
-    for i in range(len(data)):
-        if data[i] == '(':
-            tmp.append(data[i])
-        elif data[i] == ')':
-            if len(tmp):
-                tmp.pop()
-            else:
-                print("NO")
-                return
-    if len(tmp):
-        print("NO")
-        return
-    else:
-        print("YES")
-        return
-            
-for _ in range(int(input())):
-    solution(list(input()))
\ No newline at end of file
diff --git a/Python_BOJ_2023/10026.py b/Python_BOJ_2023/10026.py
deleted file mode 100644
index b5d3d95..0000000
--- a/Python_BOJ_2023/10026.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# 적록색약
-import sys
-sys.setrecursionlimit(10 ** 8)
-
-n = int(input())
-graph = [list(map(str, input())) for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-def dfs(x, y):
-    visited[x][y] = True
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visited[nx][ny]:
-                if graph[nx][ny] == graph[x][y]:
-                    dfs(nx, ny)
-
-ans = 0
-visited = [[False] * n for _ in range(n)] # 정상시 용 초기화
-for i in range(n):
-    for j in range(n):
-        if not visited[i][j]:
-            dfs(i, j)
-            ans += 1
-
-for i in range(n): # 그래프를 색맹용으로 바꾸기
-    for j in range(n):
-        if graph[i][j] == 'G':
-            graph[i][j] = 'R'
-
-ans2 = 0
-visited = [[False] * n for _ in range(n)] # 색맹용 초기화
-for i in range(n):
-    for j in range(n):
-        if not visited[i][j]:
-            dfs(i, j)
-            ans2 += 1
-
-print(ans, ans2)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1012.py b/Python_BOJ_2023/1012.py
deleted file mode 100644
index e321a3b..0000000
--- a/Python_BOJ_2023/1012.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 유기농 배추
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-def dfs(x, y):
-    visited[x][y] = True
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < m:
-            if not visited[nx][ny] and graph[nx][ny] == 1:
-                dfs(nx, ny)
-
-for _ in range(int(input())):
-    m, n, k = map(int, input().split())
-    graph = [[0 for _ in range(m)] for _ in range(n)]
-    visited = [[False for _ in range(m)] for _ in range(n)]
-
-    for _ in range(k):
-        y, x = map(int, input().split())
-        graph[x][y] = 1
-    
-    cnt = 0
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 1 and not visited[i][j]:
-                dfs(i, j)
-                cnt += 1
-    print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1026.py b/Python_BOJ_2023/1026.py
deleted file mode 100644
index 356cb56..0000000
--- a/Python_BOJ_2023/1026.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 보물
-
-n = int(input())
-arr1 = list(map(int, input().split()))
-arr1.sort()
-arr2 = list(map(int, input().split()))
-arr2.sort(reverse=True)
-
-sum = 0
-
-for i in range(n):
-    tmp = arr1[i] * arr2[i]
-    sum += tmp
-print(sum)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1057.py b/Python_BOJ_2023/1057.py
deleted file mode 100644
index 793ab97..0000000
--- a/Python_BOJ_2023/1057.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# 토너먼트
-n, a, b = map(int, input().split())
-
-cnt = 0
-while a != b:
-    a -= a // 2
-    b -= b // 2
-    cnt += 1
-print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1065.py b/Python_BOJ_2023/1065.py
deleted file mode 100644
index 13ee8c9..0000000
--- a/Python_BOJ_2023/1065.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 한수
-
-# 1은 한수, 123 한수
-x = int(input())
-
-def chk(num):
-    if num < 10:
-        return True
-    tmp_arr = list(map(int, str(num)))
-    d = tmp_arr[1] - tmp_arr[0] # 공차
-    idx = 0
-
-    while True:
-        if idx == len(tmp_arr) - 1:
-            break
-        
-        if tmp_arr[idx] + d != tmp_arr[idx + 1]:
-            return False
-        idx += 1
-
-    return True
-
-answer = list()
-for i in range(1, x + 1):
-    if chk(i):
-        answer.append(i)
-
-print(len(answer))
\ No newline at end of file
diff --git a/Python_BOJ_2023/1072.py b/Python_BOJ_2023/1072.py
deleted file mode 100644
index c54db34..0000000
--- a/Python_BOJ_2023/1072.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# 게임
-x, y = map(int, input().split())
-
-def get_percentage(n1, n2):
-    return int((n1 * 100) // n2)
-
-z = get_percentage(y, x)
-
-if z >= 99:
-    print(-1)
-else:
-    ans = 0
-    start = 1
-    end = 10 ** 9
-    while start <= end:
-        mid = (start + end) // 2
-        if get_percentage((y + mid), (x + mid)) > z:
-            ans = mid
-            end = mid - 1
-        else:
-            start = mid + 1
-    print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2023/10811.py b/Python_BOJ_2023/10811.py
deleted file mode 100644
index e64f025..0000000
--- a/Python_BOJ_2023/10811.py
+++ /dev/null
@@ -1,13 +0,0 @@
-n, m = map(int, input().split())
-
-arr = [i for i in range(1, n + 1)]
-
-for _ in range(m):
-    i, j = map(int, input().split())
-    
-    tmp = arr[i-1 : j]
-    tmp = tmp[::-1]
-    arr[i-1:j] = tmp
-
-for i in arr:
-    print(i, end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2023/10815.py b/Python_BOJ_2023/10815.py
deleted file mode 100644
index 438bbeb..0000000
--- a/Python_BOJ_2023/10815.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 숫자 카드
-
-n = int(input())
-arr1 = list(map(int, input().split()))
-arr1.sort()
-m = int(input())
-arr2 = list(map(int, input().split()))
-
-def bin_search(target):
-    global n, m, arr1
-    start, end = 0, n - 1
-    
-    while start <= end:
-        mid = (start + end) // 2
-        if arr1[mid] == target:
-            return True
-
-        if arr1[mid] < target:
-            start = mid + 1
-        elif arr1[mid] > target:
-            end = mid - 1
-    return False
-
-for i in range(m):
-    if bin_search(arr2[i]):
-        print(1)
-    else:
-        print(0)
\ No newline at end of file
diff --git a/Python_BOJ_2023/10816.py b/Python_BOJ_2023/10816.py
deleted file mode 100644
index e939330..0000000
--- a/Python_BOJ_2023/10816.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 숫자 카드2
-
-n = int(input())
-arr1 = list(map(int, input().split()))
-m = int(input())
-arr2 = list(map(int, input().split()))
-
-answer = dict()
-
-for i in arr1:
-    if i in answer:
-        answer[i] += 1
-    else:
-        answer[i] = 1
-
-for i in arr2:
-    if i in answer:
-        print(answer[i], end=' ')
-    else:
-        print(0, end=' ')
\ No newline at end of file
diff --git a/Python_BOJ_2023/10826.py b/Python_BOJ_2023/10826.py
deleted file mode 100644
index f5d442e..0000000
--- a/Python_BOJ_2023/10826.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 피보나치 수4
-
-n = int(input())
-
-dp = [0, 1]
-
-if n > 1:
-    for i in range(2, n + 1):
-        dp.append(dp[i - 1] + dp[i - 2])
-    print(str(dp[n]))
-else:
-    print(str(dp[n]))
\ No newline at end of file
diff --git a/Python_BOJ_2023/11048.py b/Python_BOJ_2023/11048.py
deleted file mode 100644
index 9646ccc..0000000
--- a/Python_BOJ_2023/11048.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# 이동하기
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-dp = [[0] * (m + 1) for _ in range(n + 1)]
-
-for i in range(1, n + 1):
-    for j in range(1, m + 1):
-        dp[i][j] = max(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + graph[i - 1][j - 1]
-
-print(dp[n][m])
diff --git a/Python_BOJ_2023/11052.py b/Python_BOJ_2023/11052.py
deleted file mode 100644
index 0a86f92..0000000
--- a/Python_BOJ_2023/11052.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 카드 구매하기
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-dp = [0] * (n + 1)
-
-for i in range(1, n + 1):
-    for j in range(1, i + 1):
-        dp[i] = max(dp[i - j] + arr[j - 1], dp[i])
-
-print(max(dp))
\ No newline at end of file
diff --git a/Python_BOJ_2023/11060.py b/Python_BOJ_2023/11060.py
deleted file mode 100644
index 7417f13..0000000
--- a/Python_BOJ_2023/11060.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 정프 점프
-from collections import deque
-
-n = int(input())
-if n == 1:
-    print(0)
-    exit()
-
-arr = list(map(int, input().split()))
-visited = [0] * n
-
-def bfs(x):
-    queue = deque()
-    queue.append((x))
-
-    while queue:
-        x = queue.popleft()
-        jump = arr[x]
-
-        for i in range(1, jump + 1):
-            nx = x + i
-            if nx < n and not visited[nx]:
-                queue.append((nx))
-                visited[nx] = visited[x] + 1
-                
-bfs(0)
-print(visited[-1] if visited[-1] else -1)
\ No newline at end of file
diff --git a/Python_BOJ_2023/11170.py b/Python_BOJ_2023/11170.py
deleted file mode 100644
index 4c00aab..0000000
--- a/Python_BOJ_2023/11170.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 0의 개수
-
-for _ in range(int(input())):
-    n, m = map(int, input().split())
-
-    cnt = 0
-    for i in range(n, m + 1):
-        arr = list(map(str, str(i)))
-        
-        for j in range(len(arr)):
-            if arr[j] == '0':
-                cnt += 1
-    print(cnt)
\ No newline at end of file
diff --git a/Python_BOJ_2023/11726.py b/Python_BOJ_2023/11726.py
deleted file mode 100644
index 0238668..0000000
--- a/Python_BOJ_2023/11726.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 2xN 타일링
-
-n = int(input())
-
-dp = [0] * (n + 1)
-dp[0], dp[1] = 1, 1
-
-for i in range(2, n + 1):
-    dp[i] = (dp[i - 1] + dp[i - 2]) % 10007)
-
-print(dp[-1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/11727.py b/Python_BOJ_2023/11727.py
deleted file mode 100644
index a65ce48..0000000
--- a/Python_BOJ_2023/11727.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 2xN 타일링 2
-
-n = int(input())
-
-dp = [0] * 1001
-dp[0], dp[1], dp[2] = 1, 3, 5
-
-for i in range(3, n + 1):
-    dp[i] = ((dp[i - 2] * 2 + dp[i - 1]) % 10007)
-
-print(dp[n - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/11728.py b/Python_BOJ_2023/11728.py
deleted file mode 100644
index 4f92f3c..0000000
--- a/Python_BOJ_2023/11728.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 배열 합치기
-a, b = map(int, input().split())
-
-tmp = [list(map(int, input().split())) for _ in range(2)]
-
-arr = list()
-for i in range(a):
-    arr.append(tmp[0][i])
-for j in range(b):
-    arr.append(tmp[1][j])
-
-arr.sort()
-for i in range(len(arr)):
-    print(arr[i], end = ' ')
\ No newline at end of file
diff --git a/Python_BOJ_2023/1181.py b/Python_BOJ_2023/1181.py
deleted file mode 100644
index a6162bc..0000000
--- a/Python_BOJ_2023/1181.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 단어 정렬
-
-n = int(input())
-words = list(input() for _ in range(n))
-words = sorted(words, key= lambda x: (len(x), x))
-print(words)
-tmp = ''
-for i in words:
-    if tmp != i:
-        print(i)
-        tmp = i
\ No newline at end of file
diff --git a/Python_BOJ_2023/1251.py b/Python_BOJ_2023/1251.py
deleted file mode 100644
index eb79c6c..0000000
--- a/Python_BOJ_2023/1251.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 단어 나누기
-
-s = list(map(str, input()))
-arr = list()
-
-for i in range(1, len(s) - 1):
-    for j in range(i + 1, len(s)):
-        tmp = s[:i]
-        tmp2 = s[i:j]
-        tmp3 = s[j:]
-        # 역전
-        tmp.reverse()
-        tmp2.reverse()
-        tmp3.reverse()
-        # 합치기
-        result = tmp + tmp2 + tmp3
-        arr.append(''.join(result))
-print(min(arr))
\ No newline at end of file
diff --git a/Python_BOJ_2023/13414.py b/Python_BOJ_2023/13414.py
deleted file mode 100644
index c2e2c6a..0000000
--- a/Python_BOJ_2023/13414.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# 수강신청
-import sys
-input = sys.stdin.readline
-
-k, l = map(int, input().split())
-tmp = dict()
-
-for i in range(l):
-    stu = int(input().rsplit())
-    tmp[stu] = i
-
-tmp = sorted(tmp.items(), key=lambda x: x[1])
-
-if k > len(tmp):
-    k = len(tmp)
-
-for i in range(k):
-    print(tmp[i][0])
\ No newline at end of file
diff --git a/Python_BOJ_2023/13699.py b/Python_BOJ_2023/13699.py
deleted file mode 100644
index e67669c..0000000
--- a/Python_BOJ_2023/13699.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 점화식
-
-dp = [0] * 36
-dp[0], dp[1], dp[2], dp[3] = 1, 1, 2, 5
-
-n = int(input())
-
-if n > 3:
-    for i in range(4, 36):
-        for j in range(i):
-            dp[i] += (dp[j] * dp[i - 1 - j])
-            
-            if j == n:
-                break
-
-print(dp[n])
\ No newline at end of file
diff --git a/Python_BOJ_2023/14225.py b/Python_BOJ_2023/14225.py
deleted file mode 100644
index 3aeca2b..0000000
--- a/Python_BOJ_2023/14225.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 부분수열의 합
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-list = [0] * 20000000
-
-def dfs(depth, num):
-    if depth == n:
-        list[num] = 1
-        return
-    dfs(depth + 1, num)
-    dfs(depth + 1, num + arr[depth])
-
-dfs(0, 0)
-
-for i in range(len(list)):
-    if list[i] == 0:
-        print(i)
-        break
\ No newline at end of file
diff --git a/Python_BOJ_2023/14248.py b/Python_BOJ_2023/14248.py
deleted file mode 100644
index f25c26e..0000000
--- a/Python_BOJ_2023/14248.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# 점프 점프
-import sys
-sys.setrecursionlimit(10 ** 6)
-
-n = int(input())
-arr = list(map(int, input().split()))
-s = int(input()) - 1
-visited = [False] * n
-ans = 1
-
-def dfs(x):
-    global ans
-    for nx in (x + arr[x], x - arr[x]):
-        if 0 <= nx < n and not visited[nx]:
-            ans += 1
-            visited[nx] = True
-            dfs(nx)
-
-dfs(s)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2023/14502.py b/Python_BOJ_2023/14502.py
deleted file mode 100644
index d9267d7..0000000
--- a/Python_BOJ_2023/14502.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# 연구소
-from collections import deque
-import sys
-sys.setrecursionlimit(10 ** 5)
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-copy_graph = [[0] * m for _ in range(n)]
-
-# step1. 벽세우기
-answer = 0
-def build_wall(depth):
-    global answer
-    if depth == 3:
-        for i in range(n):
-            for j in range(m):
-                copy_graph[i][j] = graph[i][j]
-
-        for i in range(n):
-            for j in range(m):
-                if copy_graph[i][j] == 2:
-                    virus_spread(i, j)
-
-        answer = max(answer, count_space())
-        return
-        
-    for i in range(n):
-        for j in range(m):
-            if graph[i][j] == 0:
-                graph[i][j] = 1
-                depth += 1
-                build_wall(depth)
-                graph[i][j] = 0
-                depth -= 1
-
-
-# step2. 바이러스 퍼트리기
-def virus_spread(ix, iy):
-    virus_map = deque()
-    virus_map.append((ix, iy))
-
-    while virus_map:
-        x, y = virus_map.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if copy_graph[nx][ny] == 0:
-                    copy_graph[nx][ny] = 2
-                    virus_map.append((nx, ny))
-
-# step3. 빈 공간 세기
-def count_space():
-    cnt = 0
-    for i in range(n):
-        for j in range(m):
-            if copy_graph[i][j] == 0:
-                cnt += 1
-    return cnt
-
-build_wall(0)
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1463.py b/Python_BOJ_2023/1463.py
deleted file mode 100644
index 2f3599c..0000000
--- a/Python_BOJ_2023/1463.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 1로 만들기
-
-x = int(input())
-dp = [0] * ((10 ** 6) + 1)
-
-for i in range(2, x + 1):
-    dp[i] = dp[i - 1] + 1
-
-    if i % 3 == 0:
-        dp[i] = min(dp[i], dp[i // 3] + 1)
-    
-    if i % 2 == 0:
-        dp[i] = min(dp[i], dp[i // 2] + 1)
-
-print(dp[x])
\ No newline at end of file
diff --git a/Python_BOJ_2023/14940.py b/Python_BOJ_2023/14940.py
deleted file mode 100644
index c28027e..0000000
--- a/Python_BOJ_2023/14940.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 쉬운 최단거리
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(int, input().split())) for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 0
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if visited[nx][ny] == -1:
-                    if graph[nx][ny] == 1:
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append((nx, ny))
-                    elif graph[nx][ny] == 0:
-                        visited[nx][ny] = 0
-
-visited = [[-1] * m for _ in range(n)]
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 2 and visited[i][j] == -1:
-            bfs(i, j)
-
-for i in range(n):
-    for j in range(m):
-        if graph[i][j] == 0:
-            print(0, end=' ')
-        else:
-            print(visited[i][j], end=' ')
-    print()
\ No newline at end of file
diff --git a/Python_BOJ_2023/15624.py b/Python_BOJ_2023/15624.py
deleted file mode 100644
index a19e309..0000000
--- a/Python_BOJ_2023/15624.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 피보나치 수 7
-
-n = int(input())
-
-def fibo(n):
-    if n == 0:
-        return 0
-    elif n == 1:
-        return 1
-    else:
-        a, b = 0, 1
-        for _ in range(2, n + 1):
-            a, b = b % 1000000007, (a + b) % 1000000007
-        return b
-
-print(fibo(n))
\ No newline at end of file
diff --git a/Python_BOJ_2023/15649.py b/Python_BOJ_2023/15649.py
deleted file mode 100644
index 3f423c7..0000000
--- a/Python_BOJ_2023/15649.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# N과 M(1)
-n, m = map(int, input().split())
-chk = [False for _ in range(n + 1)]
-ans = [0 for _ in range(m)]
-
-def recursive(depth):
-    if depth == m:
-        for i in range(m):
-            print(ans[i], end=' ')
-        print()
-        return
-    
-    for i in range(1, n + 1):
-        if chk[i]:
-            continue
-        ans[depth] = i
-        chk[i] = True
-        recursive(depth + 1)
-        chk[i] = False
-
-recursive(0)
\ No newline at end of file
diff --git a/Python_BOJ_2023/16173.py b/Python_BOJ_2023/16173.py
deleted file mode 100644
index 0ba1fed..0000000
--- a/Python_BOJ_2023/16173.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 점프왕 쩰리(Samll)
-from collections import deque
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [[False] * n for _ in range(n)]
-dx, dy = [1, 0], [0, 1]
-
-def bfs():
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = True
-    
-    while queue:
-        x, y = queue.popleft()
-        jump = graph[x][y]
-        if graph[x][y] == -1:
-            print("HaruHaru")
-            exit()
-        for i  in range(2):
-            nx, ny = x + dx[i] * jump, y + dy[i] * jump
-            if 0 <= nx < n and 0 <= ny < n:
-                if not visited[nx][ny]:
-                    visited[nx][ny] = True
-                    queue.append((nx, ny))
-
-bfs()
-print("Hing")
\ No newline at end of file
diff --git a/Python_BOJ_2023/16174.py b/Python_BOJ_2023/16174.py
deleted file mode 100644
index 40867a1..0000000
--- a/Python_BOJ_2023/16174.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 점프왕 쩰리(Large)
-import sys
-sys.setrecursionlimit(10 ** 6)
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [[False] * n for _ in range(n)]
-dx, dy = [0, 1], [1, 0]
-
-def dfs(x, y):
-    visited[x][y] = True
-    jump = graph[x][y]
-    if graph[x][y] == -1:
-        print("HaruHaru")
-        exit()
-    for i in range(2):
-        nx, ny = x + dx[i] * jump, y + dy[i] * jump
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visited[nx][ny]:
-                dfs(nx, ny)
-
-dfs(0, 0)
-print("Hing")
\ No newline at end of file
diff --git a/Python_BOJ_2023/16395.py b/Python_BOJ_2023/16395.py
deleted file mode 100644
index db3aa57..0000000
--- a/Python_BOJ_2023/16395.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 파스칼의 삼각형
-
-n, k = map(int, input().split())
-
-dp = list()
-dp.append([1])
-dp.append([1, 1])
-
-for i in range(3, n + 1):
-    tmp = [0] * i # [0, 0, 0] | i = 3
-    for j in range(i): # j = 0, 1 ,2 | i = 3
-        if j == 0:
-            tmp[j] = 1
-        elif j == i - 1:
-            tmp[j] = 1
-        else:
-            tmp[j] = dp[i - 2][j - 1] + dp[i - 2][j]
-    dp.append(tmp)
-print(dp[n - 1][k - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/16948.py b/Python_BOJ_2023/16948.py
deleted file mode 100644
index 4207e77..0000000
--- a/Python_BOJ_2023/16948.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 데스 나이트
-from collections import deque
-
-n = int(input())
-sx, sy, ex, ey = map(int, input().split())
-
-graph = [[0] * n for _ in range(n)]
-
-dx, dy = [-2, -2, 0, 0, 2, 2], [-1, 1, -2, 2, -1, 1]
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    graph[x][y] = 1
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(6):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < n:
-                if not graph[nx][ny]:
-                    graph[nx][ny] = graph[x][y] + 1
-                    queue.append((nx, ny))
-
-
-bfs(sx, sy)
-print(graph[ex][ey] - 1)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1747.py b/Python_BOJ_2023/1747.py
deleted file mode 100644
index 81bb28b..0000000
--- a/Python_BOJ_2023/1747.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 소수&팰린드롬
-import math
-n = int(input())
-
-def chk_primarynum(num):
-    sqrt_num = int(math.sqrt(num))
-    if num == 1:
-        return False
-
-    for i in range(2, sqrt_num + 1):
-        if num % i == 0:
-            return False # 소수가 아님
-    return True # 소수임
-
-
-def chk_pelindrome(num):
-    val = str(num)
-    reverse_val = val[::-1]
-
-    if val == reverse_val:
-        return True # 팰린드롬임
-    else:
-        return False # 팰린드롬이 아님
-
-while True:
-    if chk_pelindrome(n) and chk_primarynum(n):
-        print(n)
-        exit()
-    n += 1
\ No newline at end of file
diff --git a/Python_BOJ_2023/1788.py b/Python_BOJ_2023/1788.py
deleted file mode 100644
index 412855b..0000000
--- a/Python_BOJ_2023/1788.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 피보나치 수의 확장
-N = int(input())
-
-if N == 0:
-    print(0)
-    print(0)
-else:
-    dp=[0] * (abs(N) + 1)
-    dp[1] = 1
-
-    if N < 0:
-        for i in range(2, abs(N) + 1):
-            dp[i]=(dp[i - 2] - dp[i - 1])
-            if dp[i] < 0:
-                dp[i] %= -1000000000
-            else:
-                dp[i] %= 1000000000
-    elif N > 0:
-        for i in range(2, N + 1):
-            dp[i] = (dp[i - 1] % 1000000000 + dp[i - 2] % 1000000000)
-
-    if N < 0:
-        if dp[-N] < 0:
-            print(-1)
-            print(abs(dp[-N] % -1000000000))
-        else:
-            print(1)
-            print(dp[-N] % 1000000000)
-    elif N > 0:
-        print(1)
-        print(dp[N] % 1000000000)
\ No newline at end of file
diff --git a/Python_BOJ_2023/1789.py b/Python_BOJ_2023/1789.py
deleted file mode 100644
index 9aebc8b..0000000
--- a/Python_BOJ_2023/1789.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 수들의 합
-
-s = int(input())
-
-sum_val = 0
-answer = 0
-
-while True:
-    answer += 1
-    sum_val += answer
-    if sum_val > s:
-        break
-
-print(answer - 1)
diff --git a/Python_BOJ_2023/1920.py b/Python_BOJ_2023/1920.py
deleted file mode 100644
index 7a0737f..0000000
--- a/Python_BOJ_2023/1920.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# 수 찾기
-
-n = int(input())
-arr1 = list(map(int, input().split()))
-arr1.sort()
-
-m = int(input())
-arr2 = list(map(int, input().split()))
-
-def binary_search(num):
-    global arr1
-    start = 0
-    end = len(arr1) - 1
-
-    while start <= end:
-        mid = (start + end) // 2
-        if arr1[mid] == num:
-            return True
-
-        if arr1[mid] < num:
-            start = mid + 1
-        elif arr1[mid] > num:
-            end = mid - 1
-        
-    return False
-        
-
-for i in arr2:
-    if binary_search(i):
-        print(1)
-    else:
-        print(0)
diff --git a/Python_BOJ_2023/20291.py b/Python_BOJ_2023/20291.py
deleted file mode 100644
index 8457e84..0000000
--- a/Python_BOJ_2023/20291.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 파일 정리
-
-n = int(input())
-tmp = list()
-for _ in range(n):
-    name, val = map(str, input().split("."))
-    tmp.append(val)
-arr = {}
-for val in tmp:
-    if val in arr:
-        arr[val] += 1
-    else:
-        arr[val] = 1
-
-arr = sorted(arr.items())
-for key, val in arr:
-    print(key, val)
\ No newline at end of file
diff --git a/Python_BOJ_2023/2178.py b/Python_BOJ_2023/2178.py
deleted file mode 100644
index cb19752..0000000
--- a/Python_BOJ_2023/2178.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 미로 탐색
-from collections import deque
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-
-def bfs():
-    queue = deque()
-    queue.append((0, 0))
-    visited[0][0] = 1
-
-    while queue:
-        x, y = queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny] and graph[nx][ny] == 1:
-                    visited[nx][ny] = visited[x][y] + 1
-                    queue.append((nx, ny))
-
-bfs()
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/2178_2.py b/Python_BOJ_2023/2178_2.py
deleted file mode 100644
index fb6b12e..0000000
--- a/Python_BOJ_2023/2178_2.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# 미로 탐색
-
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0] * m for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = 1
-
-    while queue:
-        xx, yy = queue.popleft()
-        for i in range(4):
-            nx, ny = xx + dx[i], yy + dy[i]
-            if 0 <= nx < n and 0 <= ny < m:
-                if not visited[nx][ny]:
-                    if graph[nx][ny] == 1:
-                        visited[nx][ny] = visited[xx][yy] + 1
-                        queue.append((nx, ny))
-
-bfs(0, 0)
-print(visited[n - 1][m - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/24416.py b/Python_BOJ_2023/24416.py
deleted file mode 100644
index 5315d50..0000000
--- a/Python_BOJ_2023/24416.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 피보나치 수
-n = int(input())
-
-dp = [0] * 1000
-def fibo(n):
-    dp[1], dp[2] = 1, 1
-    for i in range(3, n + 1):
-        dp[i] = dp[i - 1] + dp[i - 2]
-    return dp[i]
-
-ans = fibo(n)
-print(ans, n - 2)
\ No newline at end of file
diff --git a/Python_BOJ_2023/24444.py b/Python_BOJ_2023/24444.py
deleted file mode 100644
index 4306da8..0000000
--- a/Python_BOJ_2023/24444.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# BFS
-from collections import deque
-import sys
-
-input = lambda: sys.stdin.readline().rstrip()
-n, m, r = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-visited = [0] * (n + 1)
-cnt = 1
-
-def bfs():
-    global cnt
-    queue = deque()
-    queue.append((r))
-    visited[r] = 1
-
-    while queue:
-        now_node = queue.popleft()
-        graph[now_node].sort()
-        for next_node in graph[now_node]:
-            if not visited[next_node]:
-                cnt += 1
-                visited[next_node] = cnt
-                queue.append((next_node))
-
-bfs()
-
-for val in visited[1:]:
-    print(val)
\ No newline at end of file
diff --git a/Python_BOJ_2023/24445.py b/Python_BOJ_2023/24445.py
deleted file mode 100644
index 8dc5ea9..0000000
--- a/Python_BOJ_2023/24445.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# bfs2
-from collections import deque
-import sys
-input = lambda:sys.stdin.readline()
-
-n, m, r = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-visited = [0] * (n + 1)
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-cnt = 1
-def bfs(n):
-    global cnt
-    visited[n] = 1
-    queue = deque()
-    queue.append((n))
-
-    while queue:
-        node = queue.popleft()
-        graph[node].sort(reverse=True)
-        for next in graph[node]:
-            if not visited[next]:
-                cnt += 1
-                visited[next] = cnt
-                queue.append((next))
-
-bfs(r)
-for i in visited[1:]:
-    print(i)
diff --git a/Python_BOJ_2023/24446.py b/Python_BOJ_2023/24446.py
deleted file mode 100644
index c8a776d..0000000
--- a/Python_BOJ_2023/24446.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# bfs 3
-from collections import deque
-import sys
-input = lambda: sys.stdin.readline().rstrip()
-
-n, m, r = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-visited = [0] * (n + 1)
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-def bfs(node):
-    queue = deque()
-    queue.append((node))
-    visited[node] = 1
-    while queue:
-        xnode = queue.popleft()
-        for nnode in graph[xnode]:
-            if not visited[nnode]:
-                visited[nnode] = visited[xnode] + 1
-                queue.append((nnode))
-
-bfs(r)
-
-for i in range(1, n + 1):
-    print(visited[i] - 1)
\ No newline at end of file
diff --git a/Python_BOJ_2023/24479.py b/Python_BOJ_2023/24479.py
deleted file mode 100644
index f0cb66a..0000000
--- a/Python_BOJ_2023/24479.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# DFS
-import sys
-
-input = lambda: sys.stdin.readline().rstrip()
-
-n, m, r = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-cnt = 1
-visited = [0] * (n + 1)
-visited[r] = 1
-
-def dfs(now):
-    global cnt
-    graph[now].sort()
-    for next in graph[now]:
-        if not visited[next]:
-            cnt += 1
-            visited[next] = cnt
-            dfs(next)
-
-dfs(r)
-print(visited)
\ No newline at end of file
diff --git a/Python_BOJ_2023/24480.py b/Python_BOJ_2023/24480.py
deleted file mode 100644
index ee3a33f..0000000
--- a/Python_BOJ_2023/24480.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# dfs2
-
-n, m, r = map(int, input().split())
-graph = [[] for _ in range(n + 1)]
-visited = [0] * (n + 1)
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-cnt = 1
-def dfs(node):
-    global cnt
-    visited[node] = cnt
-    graph[node].sort(reverse=True)
-    for next_node in graph[node]:
-        if not visited[next_node]:
-            cnt += 1
-            dfs(next_node)
-
-dfs(r)
-for val in visited[1:]:
-    print(val)
\ No newline at end of file
diff --git a/Python_BOJ_2023/24481.py b/Python_BOJ_2023/24481.py
deleted file mode 100644
index 8ed677d..0000000
--- a/Python_BOJ_2023/24481.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# dfs3
-import sys
-sys.setrecursionlimit(10 ** 8)
-input = lambda: sys.stdin.readline()
-
-n, m, start = map(int, input().split())
-
-graph = [[] for _ in range(n + 1)]
-visited = [-1 for _ in range(n + 1)]
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u].append(v)
-    graph[v].append(u)
-
-def dfs(node):
-    graph[node].sort()
-    for next_node in graph[node]:
-        if visited[next_node] == -1:
-            visited[next_node] = visited[node] + 1
-            dfs(next_node)
-
-visited[start] = 0
-dfs(start)
-
-for val in visited[1:]:
-    print(val)
\ No newline at end of file
diff --git a/Python_BOJ_2023/24482.py b/Python_BOJ_2023/24482.py
deleted file mode 100644
index c2f2a1f..0000000
--- a/Python_BOJ_2023/24482.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 24482 dfs-4
-import sys
-sys.setrecursionlimit(10 ** 6)
-
-n, m, r = map(int, input().split())
-graph = [[] for _ in range(n)]
-visited = [False] * n
-
-for _ in range(m):
-    u, v = map(int, input().split())
-    graph[u - 1].append(v - 1)
-    graph[v - 1].append(u - 1)
-
-cnt = 0
-answer = [-1] * n
-
-def dfs(v):
-    global cnt
-    visited[v] = True
-    answer[v] = cnt
-
-    graph[v].sort(reverse=True)
-    for new_one in graph[v]:
-        if not visited[new_one]:
-            visited[new_one] = True
-            cnt += 1
-            dfs(new_one)
-
-dfs(r - 1)
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2023/2468.py b/Python_BOJ_2023/2468.py
deleted file mode 100644
index 8cbb877..0000000
--- a/Python_BOJ_2023/2468.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# 안전 영역
-from collections import deque
-import sys
-input = lambda: sys.stdin.readline()
-
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-max_height = max(max(graph))
-
-answer = list()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-    visited[x][y] = True
-    while queue:
-        xx, yy = queue.popleft()
-        for i in range(4):
-            nx, ny = xx + dx[i], yy + dy[i]
-            if 0 <= nx < n and 0 <= ny < n:
-                if not visited[nx][ny] and graph[nx][ny] > 0:
-                    queue.append((nx, ny))
-                    visited[nx][ny] = True
-
-def decreasing_height():
-    for i in range(n):
-        for j in range(n):
-            if graph[i][j] > 0:
-                graph[i][j] -= 1
-
-while max_height > 0:
-    visited = [[False] * n for _ in range(n)]
-    cnt_building = 0
-    for i in range(n):
-        for j in range(n):
-            if not visited[i][j] and graph[i][j] > 0:
-                bfs(i, j)
-                cnt_building += 1
-    
-    answer.append(cnt_building)
-    max_height -= 1
-    
-    decreasing_height()
-
-print(max(answer))
\ No newline at end of file
diff --git a/Python_BOJ_2023/2480.py b/Python_BOJ_2023/2480.py
deleted file mode 100644
index d3a352b..0000000
--- a/Python_BOJ_2023/2480.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 주사위 세개
-a, b, c = map(int, input().split())
-
-if a == b == c:
-    print(10000 + a * 1000)
-elif a == b:
-    print(1000 + a * 100)
-elif b == c:
-    print(1000 + b * 100)
-elif c == a:
-    print(1000 + c * 100)
-else:
-    print(max(a, b, c) * 100)
diff --git a/Python_BOJ_2023/2501.py b/Python_BOJ_2023/2501.py
deleted file mode 100644
index f4662e9..0000000
--- a/Python_BOJ_2023/2501.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 약수 구하기
-
-n, k = map(int, input().split())
-
-yaksu = list()
-for i in range(1, n + 1):
-    if n % i == 0:
-        yaksu.append(i)
-
-if k > len(yaksu):
-    print(0)
-else:
-    print(yaksu[k - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/2512.py b/Python_BOJ_2023/2512.py
deleted file mode 100644
index fd478bb..0000000
--- a/Python_BOJ_2023/2512.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# 예산
-n = int(input())
-arra = list(map(int, input().split()))
-m = int(input())
-arra.sort()
-
-def binary_search(arr):
-    start = 0
-    end = max(arr)
-    
-    while start <= end:
-        mid = (start + end) // 2
-        print(start, end, mid)
-        cnt = 0
-        for i in range(n):
-            if arr[i] >= mid:
-                cnt += mid
-            else:
-                cnt += arr[i]
-        if cnt <= m:
-            start = mid + 1
-        else:
-            end = mid - 1
-    return end
-
-answer = binary_search(arra)
-print(answer)
\ No newline at end of file
diff --git a/Python_BOJ_2023/25304.py b/Python_BOJ_2023/25304.py
deleted file mode 100644
index 6fcc0e5..0000000
--- a/Python_BOJ_2023/25304.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 영수증
-
-tot = int(input())
-ssum = 0
-for _ in range(int(input())):
-    price, val = map(int, input().split())
-    ssum += price * val
-
-if tot == ssum:
-    print("Yes")
-else:
-    print("No")
\ No newline at end of file
diff --git a/Python_BOJ_2023/25305.py b/Python_BOJ_2023/25305.py
deleted file mode 100644
index 4964946..0000000
--- a/Python_BOJ_2023/25305.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# 커트라인
-
-n, k = map(int, input().split())
-scores = list(map(int, input().split()))
-
-scores.sort(reverse=True)
-print(scores[k - 1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/2562.py b/Python_BOJ_2023/2562.py
deleted file mode 100644
index b4c06cf..0000000
--- a/Python_BOJ_2023/2562.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 최댓값
-
-max_val = -1
-idx = 0
-for i in range(9):
-    input_val = int(input())
-    if max_val < input_val:
-        max_val = max(max_val, input_val)
-        idx = i + 1
-
-print(max_val)
-print(idx)
diff --git a/Python_BOJ_2023/2566.py b/Python_BOJ_2023/2566.py
deleted file mode 100644
index f45132b..0000000
--- a/Python_BOJ_2023/2566.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 최댓값
-
-graph = [list(map(int, input().split())) for _ in range(9)]
-max_val, x, y = 0, 0, 0
-
-for i in range(9):
-    for j in range(9):
-        if graph[i][j] > max_val:
-            max_val = max(graph[i][j], max_val)
-            x, y = i, j
-
-print(max_val)
-print(x + 1, y + 1)
\ No newline at end of file
diff --git a/Python_BOJ_2023/2587.py b/Python_BOJ_2023/2587.py
deleted file mode 100644
index ab1e7a8..0000000
--- a/Python_BOJ_2023/2587.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# 대표값2
-
-nums = list()
-for i in range(5):
-    nums.append(int(input()))
-print(sum(nums) // 5)
-
-nums.sort()
-print(nums[len(nums) // 2])
\ No newline at end of file
diff --git a/Python_BOJ_2023/2606.py b/Python_BOJ_2023/2606.py
deleted file mode 100644
index 175eaad..0000000
--- a/Python_BOJ_2023/2606.py
+++ /dev/null
@@ -1,26 +0,0 @@
-#  바이러스
-import sys
-input = lambda: sys.stdin.readline()
-
-n = int(input())
-m = int(input())
-graph = [[] for _ in range(n + 1)]
-for _ in range(m):
-    x, y = map(int, input().split())
-    graph[x].append(y)
-    graph[y].append(x)
-
-ans = 0
-visited = [0] * (n + 1)
-
-def dfs(node):
-    global ans
-    visited[node] = 1
-    graph[node].sort()
-    for next_node in graph[node]:
-        if not visited[next_node]:
-            dfs(next_node)
-            ans += 1
-
-dfs(1)
-print(ans)
\ No newline at end of file
diff --git a/Python_BOJ_2023/2667.py b/Python_BOJ_2023/2667.py
deleted file mode 100644
index f16d9f5..0000000
--- a/Python_BOJ_2023/2667.py
+++ /dev/null
@@ -1,31 +0,0 @@
-n = int(input())
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[0 for _ in range(n)] for _ in range(n)]
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-cnt = 0
-
-def dfs(x, y):
-    global cnt
-    visited[x][y] = 1
-    if graph[x][y] == 1:
-        cnt += 1
-    
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < n and 0 <= ny < n:
-            if not visited[nx][ny]:
-                if graph[nx][ny] == 1:
-                    dfs(nx, ny)
-
-answer = list()
-for i in range(n):
-    for j in range(n):
-        if graph[i][j] == 1 and not visited[i][j]:
-            dfs(i, j)
-            answer.append(cnt)
-            cnt = 0
-
-print(len(answer))
-answer.sort()
-for i in answer:
-    print(i)
\ No newline at end of file
diff --git a/Python_BOJ_2023/2738.py b/Python_BOJ_2023/2738.py
deleted file mode 100644
index 043bf84..0000000
--- a/Python_BOJ_2023/2738.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# 행렬 덧셈
-
-n, m = map(int, input().split())
-
-map1 = list()
-for i in range(n):
-    map1.append(list(map(int, input().split())))
-
-map2 = list()
-for i in range(n):
-    map2.append(list(map(int, input().split())))
-
-ans = list()
-for i in range(n):
-    for j in range(m):
-        ans.append(map1[i][j] + map2[i][j])
-
-for i in range(1, len(ans) + 1):
-    print(ans[i - 1], end=" ")
-    if i % m == 0:
-        print()
diff --git a/Python_BOJ_2023/2754.py b/Python_BOJ_2023/2754.py
deleted file mode 100644
index 68111c8..0000000
--- a/Python_BOJ_2023/2754.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 학점계산
-
-grade = {
-    'A+' : 4.3, 'A0': 4.0, 'A-': 3.7,
-    'B+' : 3.3, 'B0' : 3.0, 'B-' : 2.7,
-    'C+' : 2.3, 'C0' : 2.0, 'C-' : 1.7,
-    'D+' : 1.3, 'D0' : 1.0, 'D-' : 0.7,
-    'F' : 0.0
-}
-
-inval = input()
-
-print(grade[inval])
\ No newline at end of file
diff --git a/Python_BOJ_2023/2798.py b/Python_BOJ_2023/2798.py
deleted file mode 100644
index 9308289..0000000
--- a/Python_BOJ_2023/2798.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 블랙잭
-
-n, m = map(int, input().split())
-arr = list(map(int, input().split()))
-arr.sort(reverse=True)
-max_val = -1
-for i in range(n - 2):
-    for j in range(i + 1, n - 1):
-        for k in range(j + 1, n):
-            sum = arr[i] + arr[j] + arr[k]
-            if max_val <= sum and sum <= m:
-                max_val = max(max_val, sum)
-print(max_val)
\ No newline at end of file
diff --git a/Python_BOJ_2023/2839.py b/Python_BOJ_2023/2839.py
deleted file mode 100644
index 69d7467..0000000
--- a/Python_BOJ_2023/2839.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 설탕 배달
-n  = int(input())
-
-ans = 0
-
-while True:
-    if n % 5 == 0:
-        ans = ans + (n // 5)
-        print(ans)
-        break
-
-    n -= 3
-    ans += 1
-    if n < 0:
-        print(-1)
-        break
diff --git a/Python_BOJ_2023/4179.py b/Python_BOJ_2023/4179.py
deleted file mode 100644
index 7f578e4..0000000
--- a/Python_BOJ_2023/4179.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# 불!
-from collections import deque
-
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-r, c = map(int, input().split())
-graph = [list(map(str, input())) for _ in range(r)]
-visited = [[0 for _ in range(c)] for _ in range(r)]
-
-def fire_spread():
-    fqlen = len(fire_queue)
-    while fqlen:
-        x, y = fire_queue.popleft()
-        for i in range(4):
-            nx, ny = x + dx[i], y + dy[i]
-            if 0 <= nx < r and 0 <= ny < c:
-                if graph[nx][ny] == '.':
-                    graph[nx][ny] = 'F'
-                    fire_queue.append(((nx, ny)))
-        fqlen -= 1
-
-def find_exit(x, y):
-    queue.append((x, y))
-    visited[x][y] = 1
-
-    while queue:
-        qlen = len(queue)
-        while qlen:
-            x, y = queue.popleft()
-            for i in range(4):
-                nx, ny = x + dx[i], y + dy[i]
-                if 0 <= nx < r and 0 <= ny < c:
-                    if not visited[nx][ny] and graph[nx][ny] == '.':
-                        visited[nx][ny] = visited[x][y] + 1
-                        queue.append((nx, ny))
-                else:
-                    print(visited[x][y])
-                    return
-            qlen -= 1
-        fire_spread()
-
-    print("IMPOSSIBLE")
-    return
-
-queue, fire_queue = deque(), deque()
-for i in range(r):
-    for j in range(c):
-        if graph[i][j] == 'J':
-            s_x, s_y = i, j
-            graph[i][j] = '.'
-        elif graph[i][j] == 'F':
-            fire_queue.append((i, j))
-
-fire_spread()
-find_exit(s_x, s_y)
\ No newline at end of file
diff --git a/Python_BOJ_2023/9095.py b/Python_BOJ_2023/9095.py
deleted file mode 100644
index 190afeb..0000000
--- a/Python_BOJ_2023/9095.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 1,2,3 더하기
-
-def find(n):
-    dp = [0] * 100
-    dp[1], dp[2], dp[3] = 1, 2, 4
-
-    for i in range(4, n + 1):
-        dp[i] = dp[i - 1] + dp[i - 2] + dp[i - 3]
-    return dp[n]
-
-nums = list()
-
-for _ in range(int(input())):
-    nums.append(int(input()))
-
-for num in nums:
-    print(find(num))
\ No newline at end of file
diff --git a/Python_BOJ_2023/9625.py b/Python_BOJ_2023/9625.py
deleted file mode 100644
index 0cf9715..0000000
--- a/Python_BOJ_2023/9625.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# BABBA
-
-k = int(input())
-
-# 0 -> [1, 0]
-# 1 -> [0, 1]
-# 2 -> [1, 1]
-# 3 -> [1, 2]
-# 4 -> [2, 3]
-# 5 -> babbabab [3, 5]
-# 6 -> babbababbabba [5, 8]
-# 7 -> babbababbabbababbabab [8, 13]
-
-arr = [[1, 0], [0, 1], [1, 1]]
-
-if k >= 3:
-    for i in range(3, k + 1):
-        arr.append([arr[i - 2][0] + arr[i - 1][0], arr[i - 2][1] + arr[i - 1][1]])
-
-print(arr[k][0], arr[k][1])
\ No newline at end of file
diff --git a/Python_BOJ_2023/9655.py b/Python_BOJ_2023/9655.py
deleted file mode 100644
index c30bc37..0000000
--- a/Python_BOJ_2023/9655.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# 돌게임
-
-n = int(input())
-
-if n % 2 == 0:
-    print("CY")
-else:
-    print("SK")
\ No newline at end of file
diff --git "a/Python_Programmers/2016\353\205\204.py" "b/Python_Programmers/2016\353\205\204.py"
deleted file mode 100644
index 3f5e856..0000000
--- "a/Python_Programmers/2016\353\205\204.py"
+++ /dev/null
@@ -1,6 +0,0 @@
-a, b = map(int, input().split())
-
-day = ['THU','FRI','SAT','SUN','MON','TUE','WED']
-month = [31, 29, 31, 30, 31, 30 , 31, 31, 30, 31, 30, 31]
-
-print(day[(sum(month[:a-1]) + b) % 7])
\ No newline at end of file
diff --git "a/Python_Programmers/K\353\262\210\354\247\270\354\210\230.py" "b/Python_Programmers/K\353\262\210\354\247\270\354\210\230.py"
deleted file mode 100644
index b132b2f..0000000
--- "a/Python_Programmers/K\353\262\210\354\247\270\354\210\230.py"
+++ /dev/null
@@ -1,18 +0,0 @@
-array = [1, 5, 2, 6, 3, 7, 4]
-commands = [[2, 5, 3], [4, 4, 1], [1, 7, 3]]
-
-
-def solution(array, commands):
-    answer = []
-    tmp = []
-    for i in range(len(commands)):
-        for j in range(commands[i][0]-1, commands[i][1]):
-            tmp.append(array[j])
-            tmp.sort()
-        answer.append(tmp[commands[i][2] - 1])
-        tmp = []
-
-    return answer
-
-
-print(solution(array, commands))
\ No newline at end of file
diff --git "a/Python_Programmers/[2021]\354\271\264\354\271\264\354\230\244\355\216\230\354\235\264 \354\275\224\355\205\214 1.py" "b/Python_Programmers/[2021]\354\271\264\354\271\264\354\230\244\355\216\230\354\235\264 \354\275\224\355\205\214 1.py"
deleted file mode 100644
index 4f2b5fb..0000000
--- "a/Python_Programmers/[2021]\354\271\264\354\271\264\354\230\244\355\216\230\354\235\264 \354\275\224\355\205\214 1.py"	
+++ /dev/null
@@ -1,45 +0,0 @@
-money = 12345678
-minratio, maxratio = 10, 20
-ranksize = 250000
-threshold = 10000000
-months = 4
-
-
-def solution(money, minratio, maxratio, ranksize, threshold, months):
-    maybe_youhave_money = money - (money % 100)
-    tax_guide_line = []
-    if minratio != 0 and maxratio != 0:
-        for i in range(maxratio - minratio):
-            tax_guide_line.append(threshold + ranksize * i)
-    else:
-        return money
-
-    def check_tax_ratio(cash):
-        if cash < threshold:
-            tax_rate = 0
-        elif cash >= tax_guide_line[-1] + ranksize:
-            tax_rate = maxratio
-        else:
-            for i in range(len(tax_guide_line)):
-                if tax_guide_line[i] <= cash < tax_guide_line[i] + ranksize - 1:
-                    tax_rate = minratio + i
-
-        return tax_rate
-
-    time_cnt = 0
-    maybe_cur_money = maybe_youhave_money
-    cur_tax_ratio = check_tax_ratio(maybe_cur_money) / 100
-
-    while True:
-        if time_cnt == months:
-            break
-        bye_my_money = int(maybe_cur_money * cur_tax_ratio)
-        money -= bye_my_money
-        maybe_cur_money = money - (money % 100)
-        cur_tax_ratio = check_tax_ratio(maybe_cur_money) / 100
-
-        time_cnt += 1
-    return money
-
-
-print(solution(money, minratio, maxratio, ranksize, threshold, months))
\ No newline at end of file
diff --git "a/Python_Programmers/[2021]\354\271\264\354\271\264\354\230\244\355\216\230\354\235\264 \354\275\224\355\205\214 4.py" "b/Python_Programmers/[2021]\354\271\264\354\271\264\354\230\244\355\216\230\354\235\264 \354\275\224\355\205\214 4.py"
deleted file mode 100644
index a720025..0000000
--- "a/Python_Programmers/[2021]\354\271\264\354\271\264\354\230\244\355\216\230\354\235\264 \354\275\224\355\205\214 4.py"	
+++ /dev/null
@@ -1,22 +0,0 @@
-ages = [35, 25, 3, 8, 7]
-wires = [[1, 2, 5], [2, 1, 5], [1, 3, 2], [3, 4, 2], [3, 5, 20], [4, 5, 1]]
-
-
-def solution(ages, wires):
-    maxWireLength = [0] * (len(ages) + 1)
-    for i in wires:
-        start, end, length = i[0], i[1], i[2]
-        maxWireLength[end] = max(maxWireLength[end], length + ages[start - 1])
-
-    arr = [0] * len(ages)
-    for i in range(len(ages)):
-        arr[i] = [i + 1, min(ages[i], maxWireLength[i + 1])]
-    arr.sort(key = lambda x: x[1])
-
-    answer = []
-    for i in range(len(arr)):
-        answer.append(arr[i][0])
-    return answer
-
-
-print(solution(ages, wires))
\ No newline at end of file
diff --git "a/Python_Programmers/\352\265\254\353\252\205\353\263\264\355\212\270.py" "b/Python_Programmers/\352\265\254\353\252\205\353\263\264\355\212\270.py"
deleted file mode 100644
index cba7919..0000000
--- "a/Python_Programmers/\352\265\254\353\252\205\353\263\264\355\212\270.py"
+++ /dev/null
@@ -1,26 +0,0 @@
-# people = [70, 50, 80, 50]
-people = [70, 80, 50]
-limit = 100
-
-
-def solution(people, limit):
-    answer = []
-    flag = False
-
-    for i in range(len(people)):
-        for j in range(i + 1, len(people)):
-            if people[i] + people[j] > limit:
-                continue
-            else:
-                answer.append([people[i], people[j]])
-                flag = True
-
-        if flag:
-            flag = False
-            continue
-        else:
-            answer.append(people[i])
-    print(answer)
-    return answer
-
-solution(people, limit)
\ No newline at end of file
diff --git "a/Python_Programmers/\352\270\260\353\212\245\352\260\234\353\260\234.py" "b/Python_Programmers/\352\270\260\353\212\245\352\260\234\353\260\234.py"
deleted file mode 100644
index 97bea1e..0000000
--- "a/Python_Programmers/\352\270\260\353\212\245\352\260\234\353\260\234.py"
+++ /dev/null
@@ -1,32 +0,0 @@
-## 기능개발 - 문제 설명
-# 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다.
-# 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다.
-# 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고,
-# 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다.
-# 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가
-# 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요.
-
-progresses = [95, 90, 99, 99, 80, 99] # [93, 30, 55]
-speeds = [1, 1, 1, 1, 1, 1] # [1, 30, 5]
-
-
-def solution(progresses, speeds):
-    answer = []
-    while progresses:
-        cnt = 0
-        for i in range(len(speeds)):
-            progresses[i] += speeds[i]
-
-        if progresses[0] >= 100:
-            while progresses:
-                if progresses[0] >= 100:
-                    progresses.pop(0)
-                    speeds.pop(0)
-                    cnt += 1
-                else:
-                    break
-            answer.append(cnt)
-    return answer
-
-
-print(solution(progresses, speeds))
\ No newline at end of file
diff --git "a/Python_Programmers/\353\204\244\355\212\270\354\233\214\355\201\254.py" "b/Python_Programmers/\353\204\244\355\212\270\354\233\214\355\201\254.py"
deleted file mode 100644
index 471aa01..0000000
--- "a/Python_Programmers/\353\204\244\355\212\270\354\233\214\355\201\254.py"
+++ /dev/null
@@ -1,56 +0,0 @@
-import sys
-sys.setrecursionlimit(10001)
-
-n = 4
-computers = [[1, 0, 0, 1], [0, 1, 1, 0], [0, 1, 1, 0], [1, 1, 0, 1]]
-
-
-def find(arr, x):
-    if arr[x] == x:
-        return x
-    else:
-        arr[x] = find(arr, arr[x])
-    return arr[x]
-
-
-def union(arr, x, y):
-    x = find(arr, x)
-    y = find(arr, y)
-    if x < y:
-        arr[y] = x
-    else:
-        arr[x] = y
-
-
-def solution(n, computers):
-    parent = [i for i in range(n + 1)]
-
-    tmp = []
-    for i in range(n):
-        for j in range(n):
-            if i == j: continue # 자기 자신은 skip
-            if computers[i][j] == 1: # 연결된 노드 번호를 찾아서
-                tmp.append([i + 1, j + 1]) # 양방향이므로 저장
-                tmp.append([j + 1, i + 1])
-    tmp.sort(key = lambda x : x[0]) # 중복을 제거하기 위해 사전 준비 (x, y)에서 x기준 정렬
-
-    tmp2 = []
-    for i in tmp:
-        if len(tmp2) == 0: # tmp2가 비어있으면 push
-            tmp2.append(i)
-        if tmp2[-1] == i: # tmp2의 Peek와 값이 같으면 넣지 않음
-            continue
-        else: # 다르다면 push
-            tmp2.append(i)
-
-    for i in tmp2: # 중복 처리된 값을 갖고 유니온-파인드
-        a, b = i
-        union(parent, a, b)
-
-    answer = set() # 리스트를 set해주면 중복된 부모 값이 사라지므로 노드끼리 연결된 덩어리 수가 도출된다.
-    for i in range(1, len(parent)):
-        answer.add(find(parent, parent[i])) # parent의 부모 노드를 set에 add
-    return len(answer)
-
-
-print(solution(n, computers))
\ No newline at end of file
diff --git "a/Python_Programmers/\353\213\244\353\246\254\353\245\274 \354\247\200\353\202\230\353\212\224 \355\212\270\353\237\255.py" "b/Python_Programmers/\353\213\244\353\246\254\353\245\274 \354\247\200\353\202\230\353\212\224 \355\212\270\353\237\255.py"
deleted file mode 100644
index 53d93dc..0000000
--- "a/Python_Programmers/\353\213\244\353\246\254\353\245\274 \354\247\200\353\202\230\353\212\224 \355\212\270\353\237\255.py"	
+++ /dev/null
@@ -1,19 +0,0 @@
-bridge_length, weight = 2, 10
-truck_weights = [7,4,5,6]
-
-def solution(bridge_length, weight, truck_weights):
-    answer = 0
-    bridge = [0] * bridge_length
-
-    while len(bridge):
-        answer += 1
-        bridge.pop(0)
-        if truck_weights:
-            if sum(bridge) + truck_weights[0] <= weight:
-                bridge.append(truck_weights.pop(0))
-            else:
-                bridge.append(0)
-    return answer
-
-
-print(solution(bridge_length, weight, truck_weights))
\ No newline at end of file
diff --git "a/Python_Programmers/\353\215\224 \353\247\265\352\262\214.py" "b/Python_Programmers/\353\215\224 \353\247\265\352\262\214.py"
deleted file mode 100644
index fc775de..0000000
--- "a/Python_Programmers/\353\215\224 \353\247\265\352\262\214.py"	
+++ /dev/null
@@ -1,35 +0,0 @@
-## 더 맵게
-# 문제 설명
-# 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다.
-# 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.
-
-# 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)
-
-# Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다.
-# Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때,
-# 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요.
-import heapq
-
-scoville = [1, 2, 3, 9, 10, 12]
-K = 7
-
-
-def solution(scoville, K):
-    answer = 0
-    queue = []
-
-    for i in scoville:
-        heapq.heappush(queue, i)
-
-    while queue:
-        if queue[0] >= K:
-            return answer
-        if len(queue) == 1 and queue[0] < K:
-            return -1
-        first = heapq.heappop(queue)
-        second = heapq.heappop(queue)
-        heapq.heappush(queue, first + second * 2)
-        answer += 1
-
-
-print(solution(scoville, K))
\ No newline at end of file
diff --git "a/Python_Programmers/\354\206\214\354\210\230\354\260\276\352\270\260.py" "b/Python_Programmers/\354\206\214\354\210\230\354\260\276\352\270\260.py"
deleted file mode 100644
index fd36b1f..0000000
--- "a/Python_Programmers/\354\206\214\354\210\230\354\260\276\352\270\260.py"
+++ /dev/null
@@ -1,39 +0,0 @@
-from itertools import permutations
-import math
-
-numbers = '17'
-
-
-def Eratosthenes(n): # 에라토스테네스의 체로 소수 리스트 제작
-    flag = [True for _ in range(n + 1)]
-
-    for i in range(2, int(math.sqrt(n)) + 1):
-        if flag[i] == True:
-            j = 2
-            while i * j <= n:
-                flag[i * j] = False
-                j += 1
-
-    return [i for i in range(2, n + 1) if flag[i]]
-
-
-def solution(numbers):
-    tmp = []
-    for i in range(1, len(numbers) + 1):
-        tmp += list(map(''.join, permutations(numbers,i)))
-
-    arr = []
-    for i in range(len(tmp)):
-        arr.append(int(tmp[i]))
-    arr = list(map(int, set(arr)))
-
-    answer = 0
-    prime_number = Eratosthenes(max(arr))
-    for i in range(len(arr)):
-        if arr[i] in prime_number:
-            answer += 1
-
-    return answer
-
-
-print(solution(numbers))
\ No newline at end of file
diff --git "a/Python_Programmers/\354\227\254\355\226\211 \352\262\275\353\241\234.py" "b/Python_Programmers/\354\227\254\355\226\211 \352\262\275\353\241\234.py"
deleted file mode 100644
index ca246a3..0000000
--- "a/Python_Programmers/\354\227\254\355\226\211 \352\262\275\353\241\234.py"	
+++ /dev/null
@@ -1,35 +0,0 @@
-# tickets = [["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]]
-tickets = [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]]
-
-
-def solution(tickets):
-    routes = dict()
-    for from_, to_ in tickets:
-        if from_ in routes:
-            routes[from_].append(to_)
-        else:
-            routes[from_] = [to_]
-
-    for key in routes.keys():
-        print(key)
-        routes[key].sort(reverse=True)
-
-    start = ['ICN']
-    answer = list()
-    while start:
-        now = start[-1]
-        if now not in routes or len(routes[now]) == 0: # 다 차면 데이터를 빼서 ans에 넣음
-            answer.append(start.pop())
-        else:
-            start.append(routes[now].pop())
-
-    return answer[::-1]
-
-
-print(solution(tickets))
-
-
-
-# {'ICN': ['SFO', 'ATL'], 'SFO': ['ATL'], 'ATL': ['ICN', 'SFO']} 입력
-# {'ICN': ['SFO', 'ATL'], 'SFO': ['ATL'], 'ATL': ['SFO', 'ICN']} key순 정렬
-# ['SFO', 'ATL', 'SFO', 'ICN', 'ATL', 'ICN']
diff --git "a/Python_Programmers/\354\235\264\354\203\201\355\225\234 \353\254\270\354\236\220 \353\247\214\353\223\244\352\270\260.py" "b/Python_Programmers/\354\235\264\354\203\201\355\225\234 \353\254\270\354\236\220 \353\247\214\353\223\244\352\270\260.py"
deleted file mode 100644
index 3d1b297..0000000
--- "a/Python_Programmers/\354\235\264\354\203\201\355\225\234 \353\254\270\354\236\220 \353\247\214\353\223\244\352\270\260.py"	
+++ /dev/null
@@ -1,16 +0,0 @@
-s=" try hello world "
-
-def solution(s):
-    s=s.split(' ')
-    print(s)
-    a=[]
-    for j in range(len(s)):
-        for i in range(len(s[j])):
-            if i%2 == 0:
-                a.append(s[j][i].upper())
-            else:
-                a.append(s[j][i].lower())
-        a.append(" ")
-    a="".join(a)
-    return a
-print(solution(s))
diff --git "a/Python_Programmers/\354\240\225\354\210\230 \353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234 \353\260\260\354\271\230\355\225\230\352\270\260.py" "b/Python_Programmers/\354\240\225\354\210\230 \353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234 \353\260\260\354\271\230\355\225\230\352\270\260.py"
deleted file mode 100644
index de230b4..0000000
--- "a/Python_Programmers/\354\240\225\354\210\230 \353\202\264\353\246\274\354\260\250\354\210\234\354\234\274\353\241\234 \353\260\260\354\271\230\355\225\230\352\270\260.py"	
+++ /dev/null
@@ -1,9 +0,0 @@
-n = int(18372)
-
-
-def solution(n):
-    answer = ''
-    for i in sorted(str(n), reverse=True):
-        answer += i
-    return int(answer)
-print(solution(n))
\ No newline at end of file
diff --git "a/Python_Programmers/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.py" "b/Python_Programmers/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.py"
deleted file mode 100644
index bcfe814..0000000
--- "a/Python_Programmers/\354\247\235\354\247\200\354\226\264 \354\240\234\352\261\260\355\225\230\352\270\260.py"	
+++ /dev/null
@@ -1,24 +0,0 @@
-# https://programmers.co.kr/learn/courses/30/lessons/12973
-
-s = 'baabaa'
-# 답 : 1
-
-
-def solution(s):
-    stack = []
-    for i in range(len(s)):
-        if len(stack) == 0: # 값이 없으니 하나는 넣어
-            stack.append(s[i])
-        else:
-            if stack[-1] == s[i]: # 제일 위의 Peek값과 지금 꺼낸 값이 같다면
-                stack.pop() # pop
-            else:
-                stack.append(s[i]) # Peek값과 다르면 push한다
-
-    answer = 0
-    if len(stack) == 0: # 스택이 비어있다 == 모든 문자열이 쌍을 이루고 pop되서 사라졌다
-        answer = 1
-    return answer
-
-
-print(solution(s))
\ No newline at end of file
diff --git "a/Python_Programmers/\354\271\264\355\216\253.py" "b/Python_Programmers/\354\271\264\355\216\253.py"
deleted file mode 100644
index 44cbba3..0000000
--- "a/Python_Programmers/\354\271\264\355\216\253.py"
+++ /dev/null
@@ -1,20 +0,0 @@
-brown, yellow = 24, 24
-
-
-def solution(brown, yellow):
-    answer = [0, 0]
-    sum = brown + yellow
-    a = 1
-    while True:
-        a += 1
-        b = sum // a
-
-        if a >= b and a * b == sum:
-            if (a - 2) * (b - 2) == yellow:
-                answer[0], answer[1] = a, b
-                break
-
-    return answer
-
-
-print(solution(brown, yellow))
\ No newline at end of file
diff --git "a/Python_Programmers/\355\224\204\353\246\260\355\204\260.py" "b/Python_Programmers/\355\224\204\353\246\260\355\204\260.py"
deleted file mode 100644
index f3a5ef8..0000000
--- "a/Python_Programmers/\355\224\204\353\246\260\355\204\260.py"
+++ /dev/null
@@ -1,30 +0,0 @@
-
-priorities = [1, 1, 9, 1, 1, 1]
-location = 0
-# 답 : 5
-
-
-def solution(priorities, location):
-    a = dict()
-    for i in range(len(priorities)):
-        a[i] = [priorities[i], False]
-    a[location][1] = True # location 값의 False를 True로 바꾼다.
-    # 나중에 answer에 출력된 순서대로 저장된 리스트에서 True 값의 idx를 찾아주기 위함
-
-    tmp = []
-    for i in range(len(a)):
-        tmp.append(a[i])
-
-    answer = []
-    while tmp:
-        if tmp[0][0] < max(tmp, key = lambda x: x[0])[0]:
-            tmp.append(tmp.pop(0)) # 내부에 popleft 값보다 큰값이 있다면 이 값은 맨뒤로 보낸다.
-        else:
-            answer.append(tmp.pop(0)) # 그 외에는 출력했으니 출력한 순서를 알 수 있게 answer에 저장한다.
-
-    for idx in range(len(answer)):
-        if answer[idx][1]: # 출력된 리스트 값중 True인 값을 찾아 idx를 출력한다.
-            return idx + 1
-
-
-print(solution(priorities, location))
\ No newline at end of file
diff --git a/README.md b/README.md
index 99ed6e7..5cd706e 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,18 @@
-# Algorithm-CodingTest
-Study for coding test</br>
-and you can read my algorithm review on my Blog.</br>
-https://par3k.tistory.com
+# Python Competitive Programming Team Notes
+* This Repo. is a python library for Problem solving competition.
+* when you need an implementation of a specific algorithm, you can find it.
+* 코딩테스트 준비를 위한 파이썬 소스코드 저장소 입니다.
+* 주로 백준 온라인 저지 (BOJ)의 문제들 풀이 저장소로 사용됩니다.
+* You can read My code Review on my Blog : https://blog.naver.com/hoijae0194
 
-## Git Commit MSG Convention as Follow
-```
-[yy.mm.dd] description
+# Contents
 
-* yy.mm.dd : Commit date
-* description : Message
+## Sorting (정렬)
+* Selection Sort (선택 정렬)
+* Insertion Sort (삽입 정렬)
+* Quick Sort (퀵 정렬)
 
-```
+## Searching (탐색)
+* Binary Search (이진 탐색)
+* DFS (깊이 우선 탐색)
+* BFS (너비 우선 탐색)
diff --git a/SWEA_Python/1227-bfs.py b/SWEA_Python/1227-bfs.py
deleted file mode 100644
index 5112a6e..0000000
--- a/SWEA_Python/1227-bfs.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 미로 2
-from collections import deque
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def bfs(x, y):
-    global ans
-    queue.append([x, y])
-    visited[x][y] = True
-
-    while queue:
-        q = queue.popleft()
-        for i in range(4):
-            nx, ny = q[0] + dx[i], q[1] + dy[i]
-            if 0 <= ny < 100 and 0 <= nx < 100 and not visited[nx][ny] and graph[nx][ny] != 1:
-                if graph[nx][ny] == 3:
-                    ans = 1
-                    return
-                visited[nx][ny] = True
-                queue.append([nx, ny])
-
-
-for _ in range(1,11):
-    t = int(input())
-    graph = list()
-
-    for i in range(100):
-        line = list(map(int, list(input().strip())))
-        graph.append(line)
-
-    visited = [[False] * 100 for _ in range(100)]
-    ans = 0
-
-    queue = deque()
-    bfs(1, 1)
-    print(f'#{t} {ans}')
\ No newline at end of file
diff --git a/SWEA_Python/1227-dfs.py b/SWEA_Python/1227-dfs.py
deleted file mode 100644
index e046149..0000000
--- a/SWEA_Python/1227-dfs.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 미로 2
-import sys
-sys.setrecursionlimit()
-dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
-
-
-def dfs(x, y):
-    global ans
-    visited[x][y] = True
-    if ans: return
-
-    for i in range(4):
-        nx, ny = x + dx[i], y + dy[i]
-        if 0 <= nx < 100 and 0 <= ny < 100:
-            if not visited[nx][ny] and graph[nx][ny] != 1:
-                visited[nx][ny] = True
-                if graph[nx][ny] == 3:
-                    ans = 1
-                dfs(nx, ny)
-
-
-for _ in range(1,11):
-    t = int(input())
-    graph = list()
-
-    for i in range(100):
-        line = list(map(int, list(input().strip())))
-        graph.append(line)
-
-    visited = [[False] * 100 for _ in range(100)]
-    ans = 0
-    dfs(1, 1)
-    print(f'#{t} {ans}')
\ No newline at end of file
diff --git a/SWEA_Python/4789.py b/SWEA_Python/4789.py
deleted file mode 100644
index 4e26244..0000000
--- a/SWEA_Python/4789.py
+++ /dev/null
@@ -1,15 +0,0 @@
-for tc in range(int(input())):
-    a = input()
-    people = 0
-    ans=  0
-
-    for need_pe, pe_cnt in enumerate(a):
-        pe_cnt = int(pe_cnt)
-        if need_pe <= people:
-            
-            people += pe_cnt
-        else:
-            ans += need_pe - people
-            people += need_pe - people + pe_cnt
-
-    print(f'#{tc + 1} {ans}')
\ No newline at end of file
diff --git a/SWEA_Python/6485.py b/SWEA_Python/6485.py
deleted file mode 100644
index 0ff5c45..0000000
--- a/SWEA_Python/6485.py
+++ /dev/null
@@ -1,13 +0,0 @@
-for tc in range(int(input())):
-    arr = [0] * 5001
-    ans = list()
-    for _ in range(int(input())):
-        a, b = map(int, input().split())
-        for i in range(a, b + 1):
-            arr[i] += 1
-
-    for _ in range(int(input())):
-        c = int(input())
-        ans.append(str(arr[c]))
-
-    print(f'#{tc+1} {" ".join(ans)}')
diff --git a/input.txt b/input.txt
new file mode 100644
index 0000000..571d464
--- /dev/null
+++ b/input.txt
@@ -0,0 +1,2 @@
+10
+65 73 66 87 92 67 55 79 75 80
\ No newline at end of file
diff --git "a/section 2/1\353\262\210.py" "b/section 2/1\353\262\210.py"
new file mode 100644
index 0000000..2c39d3f
--- /dev/null
+++ "b/section 2/1\353\262\210.py"	
@@ -0,0 +1,16 @@
+# K번째 약수
+
+import sys
+sys.stdin = open("../input.txt", "rt")
+n, k = map(int, input().split())
+count = 0
+
+for i in range(1, n+1): # range(1, n+1) 이거를 잊지 말기
+    if n % i == 0:
+        count += 1
+
+    if count == k:
+        print(i)
+        break
+else:
+    print(-1)
diff --git "a/section 2/2\353\262\210.py" "b/section 2/2\353\262\210.py"
new file mode 100644
index 0000000..2edb496
--- /dev/null
+++ "b/section 2/2\353\262\210.py"	
@@ -0,0 +1,16 @@
+# K번째 작은 수
+
+import sys
+sys.stdin = open("../input.txt", "rt")
+
+T = int(input())
+count = 0
+
+for i in range(T):
+    N, s, e, k = map(int, input().split())
+    a = list(map(int, input().split()))
+    a = a[s-1: e]
+    # print(a)
+    a.sort()
+    # print(a)
+    print('#%d %d' %(i+1, a[k-1]))
\ No newline at end of file
diff --git "a/section 2/3\353\262\210.py" "b/section 2/3\353\262\210.py"
new file mode 100644
index 0000000..f9c68bd
--- /dev/null
+++ "b/section 2/3\353\262\210.py"	
@@ -0,0 +1,20 @@
+# K번째 큰수
+
+import sys
+sys.stdin = open("../input.txt", "rt")
+
+n, k = map(int, input().split())
+a = list(map(int, input().split()))
+
+result = set()
+
+for i in range(n):
+    for j in range(i+1, n):
+        for z in range(j+1, n):
+            result.add(a[i]+a[j]+a[z])
+result = list(result)
+# print(result)
+result.sort(reverse=1)
+# print(result)
+print(result[k-1])
+
diff --git "a/section 2/4\353\262\210.py" "b/section 2/4\353\262\210.py"
new file mode 100644
index 0000000..0bae26d
--- /dev/null
+++ "b/section 2/4\353\262\210.py"	
@@ -0,0 +1,23 @@
+# 대표값
+
+import sys
+sys.stdin = open("../input.txt", "rt")
+
+n = int(input())
+a = list(map(int, input().split()))
+print(a)
+avg = round(sum(a)/n)
+min = 214700000
+
+for idx, x in enumerate(a):
+    temp = abs(x - avg)
+    print(temp)
+    if temp < min:
+        min = temp
+        score = x
+        result = idx + 1
+    elif temp == min:
+        if x > score:
+            score = x
+            result = idx + 1
+print(avg, result)
\ No newline at end of file
diff --git "a/section 2/5\353\262\210.py" "b/section 2/5\353\262\210.py"
new file mode 100644
index 0000000..d434c32
--- /dev/null
+++ "b/section 2/5\353\262\210.py"	
@@ -0,0 +1,19 @@
+import sys
+
+sys.stdin = open("../input.txt", "rt")
+n, m = list(map(int, input().split()))
+
+cnt = [0] * (n+m+3)
+max = -21470000000
+
+for i in range(1, n+1):
+    for j in range(1, m+1):
+        cnt[i+j] += 1
+
+for i in range(n+m+1):
+    if cnt[i]>max:
+        max = cnt[i]
+
+for i in range(n+m+1):
+    if cnt[i] == max:
+        print(i, end=' ')
diff --git a/theory_Python/.DS_Store b/theory_Python/.DS_Store
deleted file mode 100644
index b378b3d..0000000
Binary files a/theory_Python/.DS_Store and /dev/null differ
diff --git a/theory_Python/DBN/10-1.py b/theory_Python/DBN/10-1.py
deleted file mode 100644
index 6172ba2..0000000
--- a/theory_Python/DBN/10-1.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 기본적인 서로소 집합 알고리즘 소스코드
-
-
-def find_parent(parent, x):
-    if parent[x] != x:
-        return find_parent(parent, parent[x])
-    return parent[x]
-
-
-def union_parent(parent, a, b):
-    a = find_parent(parent, a)
-    b = find_parent(parent, b)
-    if a < b:
-        parent[b] = a
-    else:
-        parent[a] = b
-
-
-v, e = map(int, input().split())
-parent = [0] * (v+1)
-
-for i in range(1, v+1):
-    parent[i] = i
-
-for i in range(e):
-    a, b = map(int, input().split())
-    union_parent(parent, a, b)
-
-print('각 원소가 속한 집합 : ', end=' ')
-for i in range(1, v+1):
-    print(find_parent(parent, i), end=' ')
-print()
-
-print('부모 테이블 : ', end=' ')
-for i in range(1, v+1):
-    print(parent[i], end=' ')
\ No newline at end of file
diff --git a/theory_Python/DBN/10-4.py b/theory_Python/DBN/10-4.py
deleted file mode 100644
index 0087063..0000000
--- a/theory_Python/DBN/10-4.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 서로소 집합을 활용한 사이클 판별 소스코드
-
-def find_parent(parent, x):
-    if parent[x] != x:
-        parent[x] = find_parent(parent, parent[x])
-    return parent[x]
-
-
-def union_parent(parent, a, b):
-    a = find_parent(parent, a)
-    b = find_parent(parent, b)
-
-    if a < b:
-        parent[b] = a
-    else:
-        parent[a] = b
-
-
-v, e = map(int, input().split())
-parent = [0] * (v+1)
-
-for i in range(1, v+1):
-    parent[i] = i
-
-cycle = False
-
-for i in range(e):
-    a, b = map(int, input().split())
-    if find_parent(parent, a) == find_parent(parent, b):
-        cycle = True
-        break
-    else:
-        union_parent(parent, a, b)
-
-if cycle:
-    print('사이클이 발생함')
-else:
-    print('사이클이 발생하지 않음')
\ No newline at end of file
diff --git a/theory_Python/DBN/3-1.py b/theory_Python/DBN/3-1.py
deleted file mode 100644
index a910b0a..0000000
--- a/theory_Python/DBN/3-1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-n = 1260
-count = 0
-
-list = [500, 100, 50, 10]
-
-for i in list:  # O(K) 즉, list 갯수만금 복잡도는 영향을 받는다.
-    count += n // i
-    n = n % i
-
-print(count)
diff --git a/theory_Python/DBN/3-2.py b/theory_Python/DBN/3-2.py
deleted file mode 100644
index 92ef206..0000000
--- a/theory_Python/DBN/3-2.py
+++ /dev/null
@@ -1,29 +0,0 @@
-N, M, K = map(int, input().split())
-data = list(map(int, input().split()))
-
-data.sort()
-
-first = data[N-1]
-second = data[N-2]
-# ans = 0 # 1안
-
-# while True:
-#     for i in range(K):
-#         if M == 0:
-#             break
-#         ans += first
-#         M -= 1
-#     if M == 0:
-#         break
-#     ans += second
-#     M -= 1
-#
-# print(ans)
-
-cnt = int(M/(K+1)) * K # 2안
-cnt += M % (K+1)
-
-ans = 0
-ans += cnt * first
-ans += (M-cnt) * second
-print(ans)
\ No newline at end of file
diff --git a/theory_Python/DBN/3-3.py b/theory_Python/DBN/3-3.py
deleted file mode 100644
index df0757b..0000000
--- a/theory_Python/DBN/3-3.py
+++ /dev/null
@@ -1,7 +0,0 @@
-N, M = map(int, input().split())
-a = []
-
-for i in range(N):
-    data = list(map(int, input().split()))
-    a.append(min(data))
-print(max(a))
\ No newline at end of file
diff --git a/theory_Python/DBN/3-4.py b/theory_Python/DBN/3-4.py
deleted file mode 100644
index 9da0834..0000000
--- a/theory_Python/DBN/3-4.py
+++ /dev/null
@@ -1,14 +0,0 @@
-N, K = map(int, input().split())
-cnt = 0
-
-while True:
-    if N == 1:
-        break
-    else:
-        if N % K == 0:
-            N = N // K
-            cnt += 1
-        else:
-            N = N - 1
-            cnt += 1
-print(cnt)
\ No newline at end of file
diff --git a/theory_Python/DBN/4-1.py b/theory_Python/DBN/4-1.py
deleted file mode 100644
index 21477fc..0000000
--- a/theory_Python/DBN/4-1.py
+++ /dev/null
@@ -1,20 +0,0 @@
-T = int(input())
-cmd = input().split()
-
-x, y = 1, 1
-
-dx = [0, 0, -1, 1]
-dy = [-1, 1, 0, 0]
-move_types = ['L', 'R', 'U', 'D']
-
-for plan in cmd:
-    for i in range(len(move_types)):
-        if plan == move_types[i]:
-            move_x = x + dx[i]
-            move_y = y + dy[i]
-
-    if move_x < 1 or move_y < 1 or move_x > T or move_y > T:
-        continue
-    x, y = move_x, move_y
-
-print(x, y)
\ No newline at end of file
diff --git a/theory_Python/DBN/4-2.py b/theory_Python/DBN/4-2.py
deleted file mode 100644
index 959a6f2..0000000
--- a/theory_Python/DBN/4-2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-N = int(input())
-
-cnt = 0
-
-for hour in range(N+1):
-    for min in range(60):
-        for sec in range(60):
-            if '3' in str(hour) + str(min) + str(sec):
-                cnt += 1
-
-print(cnt)
diff --git a/theory_Python/DBN/4-3.py b/theory_Python/DBN/4-3.py
deleted file mode 100644
index a927b8e..0000000
--- a/theory_Python/DBN/4-3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-input_data = input()
-
-row = int(input_data[1])
-col = int(ord(input_data[0])) - int(ord('a')) + 1
-
-knight_steps = {
-    (-2, -1), (-2, 1), (-1, -2), (1, -2), (2, -1), (2, 1), (1, 2), (-1, 2)
-}
-
-ans = 0
-
-for step in knight_steps:
-    n_row = row + step[0]
-    n_col = col + step[1]
-
-    if n_row >= 1 and n_row <= 8 and n_col >= 1 and n_col<= 8:
-        ans +=1
-print(ans)
\ No newline at end of file
diff --git a/theory_Python/DBN/4-4.py b/theory_Python/DBN/4-4.py
deleted file mode 100644
index 52fd889..0000000
--- a/theory_Python/DBN/4-4.py
+++ /dev/null
@@ -1,52 +0,0 @@
-N, M = map(int, input().split())
-
-d = [[0] * M for _ in range(N)]
-
-x, y , di = map(int, input().split())
-d[x][y] = 1
-
-array = []
-
-for i in range(N):
-    array.append(list(map(int, input().split())))
-
-dx = [-1, 0, 1, 0]
-dy = [0, 1, 0, -1]
-
-
-def turn_left():
-    global di
-    di -= 1
-    if di == -1:
-        di = 3
-    return di
-
-cnt = 1
-turn_cnt = 0
-
-while True:
-    turn_left()
-    nx = x + dx[di]
-    ny = y + dy[di]
-
-    if d[nx][ny] == 0 and array[nx][ny] == 0:
-        d[nx][ny] = 1
-        x = nx
-        y = ny
-        cnt += 1
-        turn_cnt = 0
-        continue
-    else:
-        turn_cnt += 1
-
-    if turn_cnt == 4:
-        nx = x - dx[di]
-        ny = y - dy[di]
-
-        if array[nx][ny] == 0:
-            x = nx
-            y = ny
-        else:
-            break
-        turn_cnt = 0
-print(cnt)
\ No newline at end of file
diff --git a/theory_Python/DBN/5-1.py b/theory_Python/DBN/5-1.py
deleted file mode 100644
index f45e62f..0000000
--- a/theory_Python/DBN/5-1.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# 스택 예제
-
-stack = []
-
-# 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제 - 삽입(1) - 삽입(4) - 삭제
-
-stack.append(5)
-stack.append(2)
-stack.append(3)
-stack.append(7)
-stack.pop()
-stack.append(1)
-stack.append(4)
-stack.pop()
-
-print(stack)
-print(stack[::-1])
\ No newline at end of file
diff --git "a/theory_Python/DBN/5-10 \354\235\221\354\232\251.py" "b/theory_Python/DBN/5-10 \354\235\221\354\232\251.py"
deleted file mode 100644
index f11744e..0000000
--- "a/theory_Python/DBN/5-10 \354\235\221\354\232\251.py"	
+++ /dev/null
@@ -1,31 +0,0 @@
-# 다른 dfs 로 풀기
-
-n, m = map(int, input().split())
-
-graph = [list(map(int, input())) for _ in range(n)]
-visited = [[False] * m for _ in range(n)]
-ans = 0
-
-dx = [-1, 1, 0, 0]
-dy = [0, 0, 1, -1]
-
-
-def dfs(x, y):
-    visited[x][y] = True
-
-    for i in range(4):
-        nx = x + dx[i]
-        ny = y + dy[i]
-
-        if 0 <= nx < n and 0 <= ny < m:
-            if not visited[nx][ny] and graph[nx][ny] == 0:
-                dfs(nx, ny)
-
-
-for a in range(n):
-    for b in range(m):
-        if graph[a][b] == 0 and not visited[a][b]:
-            ans += 1
-            dfs(a, b)
-
-print(ans)
\ No newline at end of file
diff --git a/theory_Python/DBN/5-10.py b/theory_Python/DBN/5-10.py
deleted file mode 100644
index c689375..0000000
--- a/theory_Python/DBN/5-10.py
+++ /dev/null
@@ -1,31 +0,0 @@
-def dfs(x, y):
-    # 매트릭스의 범위를 벗어나면 즉시 종료
-    if x <= -1 or x >= n or y <= -1 or y >= m:
-        return False
-
-    # 현재의 위치를 방문하지 않았다면
-    if graph[x][y] == 0:
-        graph[x][y] = 1 # 방문 처리를 해준다
-
-        # 상, 하, 좌, 우의 위치를 모두 재귀적으로 호출
-        dfs(x - 1, y)
-        dfs(x, y - 1)
-        dfs(x + 1, y)
-        dfs(x, y + 1)
-        return True
-    return False
-
-
-n, m = map(int, input().split())
-
-graph = []
-for _ in range(n):
-    graph.append(list(map(int, input())))
-
-cnt = 0
-for a in range(n): # (0,0) 부터 (n, m) 까지 전체 탐색 시작
-    for b in range(m):
-        if dfs(a, b): # 현재의 위치에서 dfs를 실행해서 True가 되면,
-            cnt += 1 # 카운트 + 1
-print(cnt)
-
diff --git a/theory_Python/DBN/5-11.py b/theory_Python/DBN/5-11.py
deleted file mode 100644
index 4dd399b..0000000
--- a/theory_Python/DBN/5-11.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# 미로 탈출
-from collections import deque
-
-n, m = map(int, input().split())
-graph = [list(map(int, input()))]
-
-dx = [-1, 1, 0, 0]
-dy = [0, 0, 1, -1]
-
-
-def bfs(x, y):
-    queue = deque()
-    queue.append((x, y))
-
-    while queue:
-        x, y = queue.popleft()
-
-        for i in range(4):
-            nx = x + dx[i]
-            ny = y + dy[i]
-
-            if nx < 0 or ny < 0 or nx >= n or ny >= m:
-                continue
-
-            if graph[nx][ny] == 0:
-                continue
-
-            if graph[nx][ny] == 1:
-                graph[nx][ny] = graph[x][y] + 1
-                queue.append((nx, ny))
-
-    return graph[n - 1][m - 1]
-
-
-print(bfs(0, 0))
\ No newline at end of file
diff --git a/theory_Python/DBN/5-2.py b/theory_Python/DBN/5-2.py
deleted file mode 100644
index aeda8c7..0000000
--- a/theory_Python/DBN/5-2.py
+++ /dev/null
@@ -1,18 +0,0 @@
-from collections import deque
-
-queue = deque()
-
-queue.append(5)
-queue.append(2)
-queue.append(3)
-queue.append(7)
-
-queue.popleft()
-
-queue.append(1)
-queue.append(4)
-
-queue.popleft()
-
-
-print(list(queue))
\ No newline at end of file
diff --git a/theory_Python/DBN/5-4.py b/theory_Python/DBN/5-4.py
deleted file mode 100644
index 70011cc..0000000
--- a/theory_Python/DBN/5-4.py
+++ /dev/null
@@ -1,9 +0,0 @@
-def recursive_function(i):
-    if i == 100:
-        return
-
-    print(i, '번째 재귀 함수에서', i+1, '번째 재귀 함수를 호출합니다.')
-    recursive_function(i+1)
-    print(i, '번째 재귀 함수를 종료합니다.')
-
-recursive_function(1)
\ No newline at end of file
diff --git a/theory_Python/DBN/5-5.py b/theory_Python/DBN/5-5.py
deleted file mode 100644
index 0678af0..0000000
--- a/theory_Python/DBN/5-5.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 반복적으로 구현한 팩토리얼 n!
-
-def factorial_iterative(n):
-    result = 1
-    for i in range(1, n+1):
-        result *= i
-    return result
-
-
-# 재귀로 구현한 팩토리얼 n!
-
-def factorial_recursive(n):
-    if n < 1:
-        return 1
-    return n * factorial_recursive(n - 1)
-
-
-print(factorial_iterative(5))
-print(factorial_recursive(5))
\ No newline at end of file
diff --git a/theory_Python/DBN/5-6.py b/theory_Python/DBN/5-6.py
deleted file mode 100644
index 30aa730..0000000
--- a/theory_Python/DBN/5-6.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 인접 행렬 방식
-
-INF = 987654321
-
-graph = [
-    [0, 7, 5],
-    [7, 0, INF],
-    [5, INF, 0]
-]
-
-print(graph)
\ No newline at end of file
diff --git a/theory_Python/DBN/5-7.py b/theory_Python/DBN/5-7.py
deleted file mode 100644
index 10af031..0000000
--- a/theory_Python/DBN/5-7.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 인접 리스트 방식
-
-graph = [[] for _ in range(3)]
-
-graph[0].append((1, 7))
-graph[0].append((2, 5))
-
-graph[1].append((0, 7))
-
-graph[2].append((0, 5))
-
-print(graph)
\ No newline at end of file
diff --git a/theory_Python/DBN/5-8.py b/theory_Python/DBN/5-8.py
deleted file mode 100644
index 8e75a20..0000000
--- a/theory_Python/DBN/5-8.py
+++ /dev/null
@@ -1,31 +0,0 @@
-'''
-DFS - 깊이 우선 탐색
-'''
-import sys
-sys.set
-
-def dfs(graph, v, visited):
-    visited[v] = True
-    print(v, end=' ')
-
-    for i in graph[v]:
-        if not visited[i]:
-            dfs(graph, i, visited)
-
-
-graph = [
-    [],
-    [2, 3, 8],
-    [1, 7],
-    [1, 4, 5],
-    [3, 5],
-    [3, 4],
-    [7],
-    [2, 6, 8],
-    [1, 7]
-]
-
-
-visited = [False] * int(len(graph))
-
-dfs(graph, 1, visited)
\ No newline at end of file
diff --git "a/theory_Python/DBN/5-9 \354\235\221\354\232\251.py" "b/theory_Python/DBN/5-9 \354\235\221\354\232\251.py"
deleted file mode 100644
index 7b33378..0000000
--- "a/theory_Python/DBN/5-9 \354\235\221\354\232\251.py"	
+++ /dev/null
@@ -1,32 +0,0 @@
-# 인접 리스트 방식으로 구현
-
-from collections import deque
-
-node, edge, start = map(int, input().split())
-
-graph = [[] for _ in range(node + 1)]
-
-for _ in range(edge):
-    a, b = map(int, input().split())
-    graph[a].append(b)
-    graph[a].sort()
-    graph[b].append(a)
-    graph[b].sort()
-
-
-def bfs(graph, start, visited):
-    visited[start] = True
-    queue = deque([start])
-
-    while queue:
-        v = queue.popleft()
-        print(v, end=' ')
-
-        for i in graph[v]:
-            if visited[i] == False:
-                queue.append(i)
-                visited[i] = True
-
-visited = [False] * (node + 1)
-
-bfs(graph, start, visited)
\ No newline at end of file
diff --git a/theory_Python/DBN/5-9.py b/theory_Python/DBN/5-9.py
deleted file mode 100644
index 1b8786c..0000000
--- a/theory_Python/DBN/5-9.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# 인접 리스트 방식으로 구현
-
-from collections import deque
-
-
-def bfs(graph, start, visited):
-    queue = deque([start])
-    visited[start] = True
-    while queue:
-        v = queue.popleft()
-        print(v, end=' ')
-
-        for i in graph[v]:
-            if visited[i] == False:
-                queue.append(i)
-                visited[i] = True
-
-
-graph = [
-    [],
-    [2, 3, 8],
-    [1, 7],
-    [1, 4, 5],
-    [3, 5],
-    [3, 4],
-    [7],
-    [2, 6, 8],
-    [1, 7]
-]
-
-visited = [False] * 9
-
-bfs(graph, 1, visited)
\ No newline at end of file
diff --git a/theory_Python/DBN/6-1.py b/theory_Python/DBN/6-1.py
deleted file mode 100644
index e3fe17f..0000000
--- a/theory_Python/DBN/6-1.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 선택 정렬 O(N^2)
-
-arr = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
-
-for i in range(len(arr)):
-    min_index = i # 가장작은 원소의 인덱스
-
-    for j in range(i + 1, len(arr)):
-        if arr[min_index] > arr[j]:
-            min_index = j
-
-    arr[i], arr[min_index] = arr[min_index], arr[i]
-
-print(arr)
diff --git a/theory_Python/DBN/6-2.py b/theory_Python/DBN/6-2.py
deleted file mode 100644
index 00ccaf2..0000000
--- a/theory_Python/DBN/6-2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# 삽입 정렬 O(N^2)
-
-arr = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]
-
-for i in range(1, len(arr)):
-    for j in range(i, 0, -1):
-        if arr[j] < arr[j-1]:
-            arr[j], arr[j-1] = arr[j-1], arr[j]
-        else:
-            break
-
-print(arr)
\ No newline at end of file
diff --git "a/theory_Python/DBN/6-3 \354\235\221\354\232\251.py" "b/theory_Python/DBN/6-3 \354\235\221\354\232\251.py"
deleted file mode 100644
index 102e2cc..0000000
--- "a/theory_Python/DBN/6-3 \354\235\221\354\232\251.py"	
+++ /dev/null
@@ -1,18 +0,0 @@
-# 파이썬 문법 사용시 단축되는 퀵 솔트
-
-arr = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8]
-
-
-def quick_sort(arr):
-    if len(arr) <= 1:
-        return arr
-
-    pivot = arr[0]
-    tail = arr[1:]
-
-    left_side = [x for x in tail if x <= pivot]
-    right_side = [x for x in tail if x > pivot]
-
-    return quick_sort(left_side) + [pivot] + quick_sort(right_side)
-
-print(quick_sort(arr))
\ No newline at end of file
diff --git a/theory_Python/DBN/6-3.py b/theory_Python/DBN/6-3.py
deleted file mode 100644
index 6194649..0000000
--- a/theory_Python/DBN/6-3.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 퀵 정렬 소스코드
-
-arr = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8]
-
-
-def quick_sort(arr, start, end):
-    if start >= end:
-        return
-    pivot = start
-    left = start + 1
-    right  = end
-
-    while left <= right:
-        while left <= end and arr[left] <= arr[pivot]:
-            left += 1
-
-        while right > start and arr[right] >= arr[pivot]:
-            right -= 1
-
-        if left > right:
-            arr[right], arr[pivot] = arr[pivot], arr[right]
-        else:
-            arr[left], arr[right] = arr[right], arr[left]
-
-    quick_sort(arr, start, right - 1)
-    quick_sort(arr, right + 1, end)
-
-
-quick_sort(arr, 0, len(arr) - 1)
-
-print(arr)
\ No newline at end of file
diff --git a/theory_Python/DBN/6-4.py b/theory_Python/DBN/6-4.py
deleted file mode 100644
index 1ab2756..0000000
--- a/theory_Python/DBN/6-4.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 계수 정렬
-
-arr = [7, 5, 9, 0, 3, 1, 6, 2, 9, 1, 4, 8, 0, 5, 2]
-
-cnt = [0] * (len(arr) + 1)
-
-for i in range(len(arr)):
-    cnt[arr[i]] += 1
-
-for j in range(len(cnt)):
-    for k in range(cnt[j]):
-        print(j, end=' ')
-        
\ No newline at end of file
diff --git a/theory_Python/DBN/6-5.py b/theory_Python/DBN/6-5.py
deleted file mode 100644
index cf0fe8f..0000000
--- a/theory_Python/DBN/6-5.py
+++ /dev/null
@@ -1,11 +0,0 @@
-n = int(input())
-
-arr = []
-
-for i in range(n):
-    arr.append(int(input()))
-
-arr = sorted(arr, reverse= True)
-
-for i in arr:
-    print(i, end=' ')
diff --git a/theory_Python/DBN/6-6.py b/theory_Python/DBN/6-6.py
deleted file mode 100644
index 89cd4de..0000000
--- a/theory_Python/DBN/6-6.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# 성적이 낮은 순서로 학생 출력하기
-
-n= int(input())
-
-arr = []
-
-for i in range(n):
-    input_data = input().split()
-    arr.append((input_data[0], input_data[1]))
-
-arr = sorted(arr, key= lambda student: student[1]) # 점수를 정렬 기준으로 삼는다는 뜻
-
-for student in arr:
-    print(student[0], end=' ')
-
diff --git a/theory_Python/DBN/6-7.py b/theory_Python/DBN/6-7.py
deleted file mode 100644
index 0229f17..0000000
--- a/theory_Python/DBN/6-7.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 두 배열의 원소 교체
-
-N, K = map(int, input().split())
-
-
-arr_1 = list(map(int, input().split()))
-arr_2 = list(map(int, input().split()))
-
-arr_1.sort()
-arr_2.sort(reverse=True)
-
-
-for j in range(K):
-    if arr_1[j] < arr_2[j]:
-        arr_1[j], arr_2[j] = arr_2[j], arr_1[j]
-    else: break
-
-
-print(sum(arr_1))
\ No newline at end of file
diff --git a/theory_Python/DBN/7-1.py b/theory_Python/DBN/7-1.py
deleted file mode 100644
index c930d38..0000000
--- a/theory_Python/DBN/7-1.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 순차 탐색
-
-
-def seq_search(n, target, arr):
-    for i in range(n):
-        if arr[i] == target:
-            return i + 1
-
-
-print("생성할 원소 갯수를 입력한 다음 한 칸 띄고 문자열을 입력하세요.")
-input_data = input().split()
-
-n = int(input_data[0])
-target = input_data[1]
-
-print("앞서 적은 원소 갯수만큼 문자열을 입력하세요.")
-arr = input().split()
-
-print(seq_search(n, target, arr))
\ No newline at end of file
diff --git a/theory_Python/DBN/7-2.py b/theory_Python/DBN/7-2.py
deleted file mode 100644
index 8f10615..0000000
--- a/theory_Python/DBN/7-2.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# 재귀를 이용한 바이너리 서치
-
-
-def binary_search(arr, target, start, end):
-    if start > end:
-        return None
-    mid = (start + end) // 2
-
-    if arr[mid] == target:
-        return mid
-
-    elif arr[mid] > target:
-        return binary_search(arr, target, start, mid-1)
-
-    else:
-        return binary_search(arr, target, mid+1, end)
-
-
-n, target = map(int, input().split())
-arr = list(map(int, input().split()))
-
-ans = binary_search(arr, target, 0, n-1)
-
-
-if ans == None:
-    print('None')
-else:
-    print(ans+1)
\ No newline at end of file
diff --git a/theory_Python/DBN/7-3.py b/theory_Python/DBN/7-3.py
deleted file mode 100644
index 9438011..0000000
--- a/theory_Python/DBN/7-3.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# 반복을 이용한 바이너리 서치
-
-
-def binary_search(arr, target, start, end):
-    while start <= end:
-        mid = (start + end) // 2
-
-        if arr[mid] == target:
-            return mid
-
-        elif arr[mid] > target:
-            end = end-1
-
-        else:
-            start = mid+1
-
-    return None
-
-
-n, target = map(int, input().split())
-arr = list(map(int, input().split()))
-
-ans = binary_search(arr, target, 0, n-1)
-
-if ans == None:
-    print('None')
-
-else:
-    print(ans+1)
\ No newline at end of file
diff --git "a/theory_Python/DBN/7-4 set()\355\225\250\354\210\230.py" "b/theory_Python/DBN/7-4 set()\355\225\250\354\210\230.py"
deleted file mode 100644
index ea2aaa8..0000000
--- "a/theory_Python/DBN/7-4 set()\355\225\250\354\210\230.py"	
+++ /dev/null
@@ -1,11 +0,0 @@
-n = int(input())
-parts = set(map(int, input().split()))
-print(parts)
-m = int(input())
-order = list(map(int, input().split()))
-
-for i in order:
-    if i in parts:
-        print('yes', end=' ')
-    else:
-        print('no', end=' ')
\ No newline at end of file
diff --git a/theory_Python/DBN/7-4.py b/theory_Python/DBN/7-4.py
deleted file mode 100644
index 371bb2a..0000000
--- a/theory_Python/DBN/7-4.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# 부품 찾기
-
-N = int(input())
-parts = list(map(int, input().split()))
-parts.sort()
-
-M = int(input())
-order = list(map(int, input().split()))
-
-
-def binary_search(arr, target, start, end):
-    while start <= end:
-        mid = (start + end)//2
-
-        if arr[mid] == target:
-            return mid
-
-        elif arr[mid] > target:
-            end = mid - 1
-
-        else:
-            start = mid + 1
-    return None
-
-for i in order:
-    ans = binary_search(parts, i, 0, N-1)
-    if ans == None:
-        print('no', end=' ')
-    else:
-        print('yes', end=' ')
\ No newline at end of file
diff --git a/theory_Python/DBN/7-5.py b/theory_Python/DBN/7-5.py
deleted file mode 100644
index 4696088..0000000
--- a/theory_Python/DBN/7-5.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# 떡볶이 떡 만들기
-
-n, m = map(int, input().split())
-ddeok = list(map(int, input().split()))
-
-start = 0
-end = max(ddeok)
-
-while start <= end:
-    total = 0
-    mid = (start + end) // 2
-
-    for x in ddeok:
-        if x > mid:
-            total += x - mid
-
-
-    if total < m:
-        end = mid - 1
-    else:
-        result = mid
-        start = mid + 1
-
-print(result)
\ No newline at end of file
diff --git a/theory_Python/DBN/8-1.py b/theory_Python/DBN/8-1.py
deleted file mode 100644
index 72ab955..0000000
--- a/theory_Python/DBN/8-1.py
+++ /dev/null
@@ -1,6 +0,0 @@
-def fibo(x):
-    if x == 1 or x == 2:
-        return 1
-    return fibo(x-1) + fibo(x-2)
-
-print(fibo(4))
\ No newline at end of file
diff --git a/theory_Python/DBN/8-2.py b/theory_Python/DBN/8-2.py
deleted file mode 100644
index 256d542..0000000
--- a/theory_Python/DBN/8-2.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 피보나치 수열 : 탑다운 방식
-
-d = [0] * 100
-
-def fibo(x):
-    # 종료 조건
-    if x == 1 or x == 2:
-        return 1
-
-    if d[x] != 0:
-        return d[x]
-
-    d[x] = fibo(x-1) + fibo(x-2)
-    return d[x]
-
-print(fibo(99))
\ No newline at end of file
diff --git a/theory_Python/DBN/8-3.py b/theory_Python/DBN/8-3.py
deleted file mode 100644
index 8b50aef..0000000
--- a/theory_Python/DBN/8-3.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# 호출되는 함수 확인
-
-d = [0] * 99
-
-def fibo(x):
-    print('f(' + str(x) + ')', end=' ')
-    if x == 1 or x == 2:
-        return 1
-
-    if d[x] != 0:
-        return d[x]
-
-    d[x] = fibo(x-1) + fibo(x-2)
-    return d[x]
-
-fibo(6)
\ No newline at end of file
diff --git a/theory_Python/DBN/8-4.py b/theory_Python/DBN/8-4.py
deleted file mode 100644
index b4739d4..0000000
--- a/theory_Python/DBN/8-4.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# 피보나치 수열 : 보텀업 방식
-
-d = [0] * 100
-
-d[1] = 1
-d[2] = 1
-n = 99
-for i in range(3, n+1):
-    d[i] = d[i-1] + d[i-2]
-
-print(d[n])
\ No newline at end of file
diff --git a/theory_Python/DBN/8-5.py b/theory_Python/DBN/8-5.py
deleted file mode 100644
index e01bb16..0000000
--- a/theory_Python/DBN/8-5.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# 1로 만들기
-
-x = int(input())
-
-dp = [0] * 30001
-
-for i in range(2, x+1):
-    dp[i] = dp[i - 1] + 1
-
-    if i % 2 == 0:
-        dp[i] = min(dp[i], dp[i // 2] + 1)
-
-    if i % 3 == 0:
-        dp[i] = min(dp[i], dp[i // 3] + 1)
-
-    if i % 5 == 0:
-        dp[i] = min(dp[i], dp[i // 5] + 1)
-
-print(dp[x])
\ No newline at end of file
diff --git a/theory_Python/DBN/8-6.py b/theory_Python/DBN/8-6.py
deleted file mode 100644
index 0a8f43b..0000000
--- a/theory_Python/DBN/8-6.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# 개미 전사
-
-n = int(input())
-arr = list(map(int, input().split()))
-
-dp = [0] * 100
-
-dp[0] = arr[0]
-dp[1] = max(arr[0], arr[1])
-
-for i in range(2, n):
-    dp[i] = max(dp[i-1], dp[i-2] + arr[i])
-
-print(dp[n-1])
\ No newline at end of file
diff --git a/theory_Python/DBN/8-7.py b/theory_Python/DBN/8-7.py
deleted file mode 100644
index 7f811be..0000000
--- a/theory_Python/DBN/8-7.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# 바닥 공사
-n = int(input())
-
-d = [0] * 1001
-
-d[1] = 1
-d[2] = 3
-
-for i in range(3, n+1):
-    d[i] = (d[i-1] + d[i-2] * 2) % 796796
-
-
-print(d[n])
\ No newline at end of file
diff --git a/theory_Python/DBN/8-8.py b/theory_Python/DBN/8-8.py
deleted file mode 100644
index 4c08dea..0000000
--- a/theory_Python/DBN/8-8.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# 효율적인 화폐 구성
-
-n, m = map(int, input().split())
-
-arr = []
-
-for _ in range(n):
-    arr.append(int(input()))
-
-d = [10001] * (m+1)
-
-d[0] = 0
-
-for i in range(n):
-    for j in range(arr[i], m+1):
-        if d[j - arr[i]] != 10001:
-            d[j] = min(d[j], d[j - arr[i]] + 1)
-
-if d[m] == 10001:
-    print(-1)
-
-else:
-    print(d[m])
\ No newline at end of file
diff --git a/theory_Python/DBN/8-9.py b/theory_Python/DBN/8-9.py
deleted file mode 100644
index ca777c7..0000000
--- a/theory_Python/DBN/8-9.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# 금광
-
-for _ in range(int(input())):
-    n, m = map(int, input().split())
-    arr = list(map(int, input().split()))
-
-    dp = []
-    idx = 0
-
-    for i in range(n):
-        dp.append(arr[idx:idx+m])
-        idx += m
-
-    for b in range(1, m):
-        for a in range(n):
-            # 왼쪽 위에서 오는경우
-            if a == 0:
-                left_up = 0
-            else:
-                left_up = dp[a-1][b-1]
-            # 왼쪽 아래에서 오는경우
-            if a == n-1:
-                left_down = 0
-            else:
-                left_down = dp[a+1][b-1]
-            # 왼쪽에서 오는경우
-            left = dp[a][b-1]
-
-            dp[a][b] = dp[a][b] + max(left_up, left_down, left)
-
-    ans = 0
-
-    for i in range(n):
-        ans = max(ans, dp[i][m-1])
-
-    print(ans)
diff --git a/theory_Python/DBN/9-1.py b/theory_Python/DBN/9-1.py
deleted file mode 100644
index ae6d580..0000000
--- a/theory_Python/DBN/9-1.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# 간단한 다익스트라 알고리즘
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-n, m = map(int, input().split())
-start = int(input())
-graph = [[] for _ in range(n+1)]
-visited = [False] * (n+1)
-distance = [INF] * (n+1)
-
-for i in range(m):
-    a, b, c = map(int, input().split())
-    graph[a].append((b, c))
-
-
-def get_small_node():
-    min_val = INF
-    idx = 0
-    for i in range(1, n+1):
-        if distance[i] < min_val and not visited[i]:
-            min_val = distance[i]
-            idx = i
-    return idx
-
-
-def dijkstra(start):
-    distance[start] = 0
-    visited[start] = True
-    for j in graph[start]:
-        distance[j[0]] = j[1]
-
-    for i in range(n-1):
-        now = get_small_node()
-        visited[now] = True
-
-        for j in graph[now]:
-            cost = distance[now] + j[1]
-            if cost < distance[j[0]]:
-                distance[j[0]] = cost
-
-
-dijkstra(start)
-
-for i in range(1, n+1):
-    if distance[i] == INF:
-        print('INF')
-    else:
-        print(distance[i])
\ No newline at end of file
diff --git a/theory_Python/DBN/9-2.py b/theory_Python/DBN/9-2.py
deleted file mode 100644
index 1072568..0000000
--- a/theory_Python/DBN/9-2.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# 개선된 다익스트라 알고리즘 소스코드
-import sys, heapq
-input = lambda : sys.stdin.readline().rstrip()
-INF = int(1e9)
-
-n, m = map(int, input().split())
-start = int(input())
-graph = [[] for _ in range(n+1)]
-distance = [INF] * (n+1)
-
-for _ in range(m):
-    a, b, c = map(int, input().split())
-    graph[a].append((b, c))
-
-
-def dijkstra(start):
-    q = []
-    heapq.heappush(q, (0, start))
-    distance[start] = 0
-    while q:
-        dist, now = heapq.heappop(q)
-
-        if distance[now] < dist:
-            continue
-
-        for i in graph[now]:
-            cost = dist + i[1]
-
-            if cost < distance[i[0]]:
-                distance[i[0]] = cost
-                heapq.heappush(q, (cost, i[0]))
-
-
-dijkstra(start)
-
-for i in range(1, n+1):
-    if distance[i] == INF:
-        print('INF')
-    else:
-        print(distance[i])
\ No newline at end of file
diff --git a/theory_Python/DBN/9-3.py b/theory_Python/DBN/9-3.py
deleted file mode 100644
index 7222ed0..0000000
--- a/theory_Python/DBN/9-3.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# 플로이드 워셜 알고리즘
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-
-n, m = map(int, input().split())
-graph = [[INF] * (n+1) for _ in range(n+1)]
-
-for a in range(1, n+1):
-    for b in range(1, n+1):
-        if a == b:
-            graph[a][b] = 0
-
-for _ in range(m):
-    a, b, c = map(int, input().split())
-    graph[a][b] = c
-
-for k in range(1, n+1):
-    for a in range(1, n+1):
-        for b in range(1, n+1):
-            graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])
-
-
-for a in range(1, n+1):
-    for b in range(1, n+1):
-        if graph[a][b] == INF:
-            print('INF', end=' ')
-        else:
-            print(graph[a][b], end=' ')
-    print()
diff --git a/theory_Python/DBN/MAXHEAP.py b/theory_Python/DBN/MAXHEAP.py
deleted file mode 100644
index 2951ab7..0000000
--- a/theory_Python/DBN/MAXHEAP.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import heapq
-
-def heapsort(arr):
-    h, result = list(), list()
-    for i in arr:
-        heapq.heappush(h, -i)
-    for i in range(len(h)):
-        result.append(-heapq.heappop(h))
-    return result
-
-result = heapsort([1, 3, 5, 7, 2, 9, 4, 8 ,6, 0])
-print(result)
-
-
-# 힙 자료구조는 데이터를 힙에 넣었다가 꺼내기만 해도 정렬이 된다.
-# O(N log N) 의 Time Complexity 보장
\ No newline at end of file
diff --git "a/theory_Python/DBN/\352\265\254\352\260\204\355\225\251_\355\210\254\355\217\254\354\235\270\355\204\260.py" "b/theory_Python/DBN/\352\265\254\352\260\204\355\225\251_\355\210\254\355\217\254\354\235\270\355\204\260.py"
deleted file mode 100644
index 4148bf3..0000000
--- "a/theory_Python/DBN/\352\265\254\352\260\204\355\225\251_\355\210\254\355\217\254\354\235\270\355\204\260.py"
+++ /dev/null
@@ -1,12 +0,0 @@
-m = 5 # 구할 합
-arr = [1, 2, 3, 2, 5] # arr값
-
-ans, interval_sum, end = 0, 0, 0
-for start in range(len(arr)):
-    while interval_sum < m and end < len(arr):
-        interval_sum += arr[end]
-        end += 1
-    if interval_sum == m: ans += 1
-    interval_sum -= arr[start]
-
-print(ans)
\ No newline at end of file
diff --git "a/theory_Python/DBN/\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274PQ.py" "b/theory_Python/DBN/\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274PQ.py"
deleted file mode 100644
index 892ac86..0000000
--- "a/theory_Python/DBN/\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274PQ.py"
+++ /dev/null
@@ -1,37 +0,0 @@
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-INF = 1234567890
-
-n, m = map(int, input().split())
-start = int(input())
-graph = [[] for _ in range(n + 1)]
-distance = [INF] * (n + 1)
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append((to_, weight))
-
-
-def dijkstra(start):
-    queue = list()
-    heapq.heappush(queue, (0, start))
-    distance[start] = 0
-
-    while queue:
-        dist, now = heapq.heappop(queue)
-
-        if distance[now] < dist: continue
-        for i in graph[now]:
-            cost = dist + i[1]
-            if cost < distance[i[0]]:
-                distance[i[0]] = cost
-                heapq.heappush(queue, (cost, i[0]))
-
-
-dijkstra(start)
-
-for i in range(1, n + 1):
-    if distance[i] == INF:
-        print("INF")
-    else:
-        print(distance[i])
\ No newline at end of file
diff --git a/theory_Python/Do it Python/01.slicing.py b/theory_Python/Do it Python/01.slicing.py
deleted file mode 100644
index 8d65282..0000000
--- a/theory_Python/Do it Python/01.slicing.py	
+++ /dev/null
@@ -1,12 +0,0 @@
-a = "Life is too short, You need Python"
-b = a[0]+a[1]+a[2]+a[3]
-print(b)
-print()
-print(a[0:4]) # 0<=a<4
-print()
-print(a[19:])
-print()
-a = "Pithon"
-print(a)
-b = a[:1]+"y"+a[2:]
-print(b)
\ No newline at end of file
diff --git a/theory_Python/Do it Python/02.formatting.py b/theory_Python/Do it Python/02.formatting.py
deleted file mode 100644
index ec5c4cf..0000000
--- a/theory_Python/Do it Python/02.formatting.py	
+++ /dev/null
@@ -1,30 +0,0 @@
-a = ("I eat %d apples." %3)
-print(a)
-print()
-b = ("I eat %s apples." %"five")
-print(b)
-print()
-num = 5
-c = ("I eat %d apples." %num)
-print(c)
-print()
-number = 10
-day = "three"
-d = ("I ate %d apples. so i was sick for %s days." %(number,day))
-print(d)
-print()
-e = ("I have %s apples." %3)
-f = ("Rate is %s." %3.234)
-print(e)
-print(f)
-print()
-a = ("Error is %d%%" %98)
-print(a)
-print(a.find('i'))
-print(a.find('z'))
-print()
-b = "Life is too short"
-print(b.split())
-c = "a:b:c:d"
-print(c.split(':'))
-print()
diff --git "a/theory_Python/SSAFY/\352\260\200\354\236\245\352\270\264\354\246\235\352\260\200\355\225\230\353\212\224\353\266\200\353\266\204\354\210\230\354\227\264.py" "b/theory_Python/SSAFY/\352\260\200\354\236\245\352\270\264\354\246\235\352\260\200\355\225\230\353\212\224\353\266\200\353\266\204\354\210\230\354\227\264.py"
deleted file mode 100644
index 1d3a528..0000000
--- "a/theory_Python/SSAFY/\352\260\200\354\236\245\352\270\264\354\246\235\352\260\200\355\225\230\353\212\224\353\266\200\353\266\204\354\210\230\354\227\264.py"
+++ /dev/null
@@ -1,21 +0,0 @@
-# LIS는 Longest Increasing Subsequence 의 약자
-# 어떤 수열에서 특정 부분을 지워서 만들어 낼 수 있는 증가 부분 수열이다.
-# 부분수열의 숫자들은 원 배열에서 위치가 이어져 있지 않아도 된다는 특징이 있다.
-# LIS는 보통 순증가하는 부분 수열을 대상으로 한다.
-# 예를 들어 [1, 4, 6, 8, 3, 5, 6, 7]일 때, [1, 6, 8], [4, 6, 8],
-# [1, 7]은 증가 부분 수열인데 이중 가장 긴 부분 열은 [1, 3, 5, 6, 7]이된다.
-# 이때 중간의 4, 6, 8 등은 생략한 것을 알 수 있다.
-
-
-def LIS(arr):
-    if not arr:
-        return 0
-
-    ans = 1
-    for i in range(len(arr)):
-        nxt = list()
-        for j in range(i + 1, len(arr)):
-            if arr[i] < arr[j]:
-                nxt.append(arr[j])
-            ans = max(ans, 1 + LIS(nxt))
-    return ans
\ No newline at end of file
diff --git "a/theory_Python/SSAFY/\353\257\274\352\266\214\354\230\250\353\235\274\354\235\270\354\240\200\354\247\200_1.py" "b/theory_Python/SSAFY/\353\257\274\352\266\214\354\230\250\353\235\274\354\235\270\354\240\200\354\247\200_1.py"
deleted file mode 100644
index 2ee9ab7..0000000
--- "a/theory_Python/SSAFY/\353\257\274\352\266\214\354\230\250\353\235\274\354\235\270\354\240\200\354\247\200_1.py"
+++ /dev/null
@@ -1,27 +0,0 @@
-# 사나운 초코
-import sys
-input = lambda : sys.stdin.readline().rstrip()
-
-n, c = map(int, input().split())
-arr = sorted([int(input()) for _ in range(n)])
-
-start = 0
-end = max(arr)
-
-while start <= end:
-    cnt = 1
-    value = arr[0]
-    mid = (start + end) // 2
-
-    for i in range(n):
-        if arr[i] >= value + mid:
-            value = arr[i]
-            cnt += 1
-
-    if cnt >= c:
-        start = mid + 1
-        ans = mid
-    else:
-        end = mid -1
-
-print(ans)
\ No newline at end of file
diff --git "a/theory_Python/SSAFY/\353\257\274\352\266\214\354\230\250\353\235\274\354\235\270\354\240\200\354\247\200_2.py" "b/theory_Python/SSAFY/\353\257\274\352\266\214\354\230\250\353\235\274\354\235\270\354\240\200\354\247\200_2.py"
deleted file mode 100644
index 5d5d761..0000000
--- "a/theory_Python/SSAFY/\353\257\274\352\266\214\354\230\250\353\235\274\354\235\270\354\240\200\354\247\200_2.py"
+++ /dev/null
@@ -1,29 +0,0 @@
-# 퇴장하는 순서
-import sys
-input = lambda :sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-n, k = map(int, input().split())
-path = [[INF] * (n) for _ in range(n)]
-
-for i in range(k):
-    from_, to_ = map(int, input().split())
-    path[from_ - 1][to_ - 1] = 1
-
-for k in range(n): # 플로이드 와샬을 통해서 그래프간 연결을 확인 할 수 있으면 거리를 1로 바꿔줌
-    for i in range(n):
-        for j in range(n):
-            if i == j: continue
-            if path[i][k] == 1 and path[k][j] == 1:
-                path[i][j] = 1
-
-# print(path)
-cnt = [0] * n
-for i in range(n):
-    for j in range(n): # 거쳐가는 노드들을 전부 카운트 해보는중
-        if path[i][j] == 1:  # i에서 j로 이동할 수 있으면 cnt에 i번째와 j번째 column 증가
-            cnt[i] += 1
-            cnt[j] += 1
-
-# print(answer)
-print(cnt.count(n - 1))
\ No newline at end of file
diff --git "a/theory_Python/SSAFY/\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220\353\245\274\354\235\264\354\232\251\355\225\234\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274.py" "b/theory_Python/SSAFY/\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220\353\245\274\354\235\264\354\232\251\355\225\234\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274.py"
deleted file mode 100644
index f625878..0000000
--- "a/theory_Python/SSAFY/\354\232\260\354\204\240\354\210\234\354\234\204\355\201\220\353\245\274\354\235\264\354\232\251\355\225\234\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274.py"
+++ /dev/null
@@ -1,37 +0,0 @@
-# 백준 1753 최단경로 >> 다익스트라 함수로 파생되는 최단거리 구하는 문제 무조건 풀자
-import heapq, sys
-input = lambda :sys.stdin.readline().rstrip()
-
-INF = int(1e9)
-n, m = map(int, input().split())
-start = int(input())
-
-graph = [[] for _ in range(n + 1)]
-distance = [INF] * (n + 1)
-
-for _ in range(m):
-    from_, to_, weight = map(int, input().split())
-    graph[from_].append([weight, to_])
-
-
-def dijikstra(start):
-    queue = list()
-    heapq.heappush(queue, (0, start)) # cost, current
-    distance[start] = 0
-
-    while queue:
-        cost, current = heapq.heappop(queue)
-        if distance[current] < cost: continue
-        for i in graph[current]:
-            cost2 = cost + i[0]
-            if cost2 < distance[i[1]]:
-                distance[i[1]] = cost2
-                heapq.heappush(queue, (cost2, i[1]))
-
-
-dijikstra(start)
-for i in range(1, n + 1):
-    if distance[i] == INF:
-        print("INF")
-    else:
-        print(distance[i])
\ No newline at end of file
diff --git "a/theory_Python/SSAFY/\354\234\240\353\213\210\354\230\250\355\214\214\354\235\270\353\223\234.py" "b/theory_Python/SSAFY/\354\234\240\353\213\210\354\230\250\355\214\214\354\235\270\353\223\234.py"
deleted file mode 100644
index f45fb91..0000000
--- "a/theory_Python/SSAFY/\354\234\240\353\213\210\354\230\250\355\214\214\354\235\270\353\223\234.py"
+++ /dev/null
@@ -1,31 +0,0 @@
-n = int(input())
-
-parent = [0] * n # make set
-for i in range(n):
-    parent[i] = i
-print(parent)
-
-def find(x): # find set
-    if parent[x] == x: return x
-    parent[x] = find(parent[x])
-    return parent[x]
-
-
-def union(a, b): # union set
-    a = find(a)
-    b = find(b)
-    if a == b: return False
-    parent[b] = a
-    return True
-
-
-union(0, 1)
-print(parent)
-union(1, 2)
-print(parent)
-union(3, 4)
-print(parent)
-union(0, 2)
-print(parent)
-union(0, 4)
-print(parent)
\ No newline at end of file
diff --git "a/theory_Python/SSAFY/\355\201\254\353\243\250\354\212\244\354\271\274.py" "b/theory_Python/SSAFY/\355\201\254\353\243\250\354\212\244\354\271\274.py"
deleted file mode 100644
index 1921b4b..0000000
--- "a/theory_Python/SSAFY/\355\201\254\353\243\250\354\212\244\354\271\274.py"
+++ /dev/null
@@ -1,58 +0,0 @@
-v, e = map(int, input().split())
-
-edgeList = list()
-ans = 0
-
-for i in range(e):
-    from_, to_, weight = map(int, input().split())
-    edgeList.append((weight, from_, to_))
-
-edgeList.sort() # weight 기준 정렬됨
-
-parent = [0] * v # make set
-for i in range(v):
-    parent[i] = i
-
-
-def find(x): # find set
-    if parent[x] == x: return x
-    parent[x] = find(parent[x])
-    return parent[x]
-
-
-def union(a, b): # union set
-    a = find(a)
-    b = find(b)
-    if a < b:
-        parent[b] = a
-    else:
-        parent[a] = b
-
-
-for edge in edgeList:
-    cost, a, b = edge
-    if find(a) != find(b):
-        union(a, b)
-        ans += cost
-
-print(ans)
-
-# 7 16
-# 5 3 18
-# 1 2 21
-# 2 6 25
-# 0 2 31
-# 0 1 32
-# 3 4 34
-# 5 4 40
-# 2 4 46
-# 0 6 51
-# 4 6 51
-# 0 5 60
-# 5 3 18
-# 1 2 21
-# 2 6 25
-# 0 2 31
-# 3 4 34
-
-# 175
diff --git "a/theory_Python/SSAFY/\355\224\204\353\246\274.py" "b/theory_Python/SSAFY/\355\224\204\353\246\274.py"
deleted file mode 100644
index 4e00f13..0000000
--- "a/theory_Python/SSAFY/\355\224\204\353\246\274.py"
+++ /dev/null
@@ -1,31 +0,0 @@
-n = int(input())
-graph = [list(map(int, input().split())) for _ in range(n)]
-visited = [False] * n
-edgeList = [int(1e9)] * n
-ans = 0
-edgeList[0] = 0
-
-for i in range(n):
-    min = int(1e9)
-    minVertex = 0
-
-    for a in range(n):
-        if not visited[a] and min > edgeList[i]:
-            min = edgeList[i]
-            minVertex = i
-
-    ans += min
-    visited[minVertex] = True
-
-    for b in range(n):
-        if not visited[b] and graph[minVertex][b] != 0 and edgeList[b] > graph[minVertex][b]:
-            edgeList[b] = graph[minVertex][b]
-
-print(ans)
-
-# 5
-# 0 5 10 15 30
-# 5 0 7 12 20
-# 10 7 0 0 0
-# 15 12 0 0 0
-# 30 20 0 0 0
\ No newline at end of file
diff --git "a/theory_Python/SSAFY/\355\224\214\353\241\234\354\235\264\353\223\234\354\233\214\354\205\234.py" "b/theory_Python/SSAFY/\355\224\214\353\241\234\354\235\264\353\223\234\354\233\214\354\205\234.py"
deleted file mode 100644
index 840702f..0000000
--- "a/theory_Python/SSAFY/\355\224\214\353\241\234\354\235\264\353\223\234\354\233\214\354\205\234.py"
+++ /dev/null
@@ -1,26 +0,0 @@
-INF = int(1e9)
-n, m = map(int, input().split())
-graph = [[INF] * (n + 1) for _ in range(n + 1)]
-
-for a in range(1, n + 1):
-    for b in range(1, n + 1):
-        if a == b:
-            graph[a][b] = 0
-
-for _ in range(m):
-    a, b, c = map(int, input().split())
-    graph[a][b] = c
-
-for k in range(1, n + 1):
-    for a in range(1, n + 1):
-        for b in range(1, n + 1):
-            graph[a][b] = min(graph[a][b], graph[a][k] + graph[k][b])
-
-
-for a in range(1, n + 1):
-    for b in range(1, n + 1):
-        if graph[a][b] == INF:
-            print("INF", end=' ')
-        else:
-            print(graph[a][b], end=' ')
-    print()
\ No newline at end of file
diff --git a/theory_Python/Youtube/.DS_Store b/theory_Python/Youtube/.DS_Store
deleted file mode 100644
index 38af5be..0000000
Binary files a/theory_Python/Youtube/.DS_Store and /dev/null differ
diff --git "a/theory_Python/Youtube/01. \353\213\250\354\210\234\355\203\220\354\203\211.py" "b/theory_Python/Youtube/01. \353\213\250\354\210\234\355\203\220\354\203\211.py"
deleted file mode 100644
index c57ea6f..0000000
--- "a/theory_Python/Youtube/01. \353\213\250\354\210\234\355\203\220\354\203\211.py"	
+++ /dev/null
@@ -1,26 +0,0 @@
-'''
-단순탐색(Simple Search)
-* 앞에서부터 원하는게 나올 때까지 하나하나 찾는다
-
-장점
-1. 만들기 쉽다.
-2. 정렬이 안되어 있어도 된다
-
-단점
-1. 느리다.
-2. 10억개를 탐색할때, 최대 10억번 연산 O(n)
-
-대안
-* 이진탐색(Binary Search) O(log n)
-'''
-#Q.8은 몇번째에 있을까?
-
-arr = [1,2,3,5,6,7,8,9,10,11]
-def simpleSearch(arr, targetNum):
-    for index in range(0, len(arr)):
-        if targetNum == arr[index]:
-            return index
-    return -1
-
-
-print(simpleSearch(arr, 8))
\ No newline at end of file
diff --git "a/theory_Python/Youtube/02. \354\235\264\354\247\204\355\203\220\354\203\211.py" "b/theory_Python/Youtube/02. \354\235\264\354\247\204\355\203\220\354\203\211.py"
deleted file mode 100644
index 6f46420..0000000
--- "a/theory_Python/Youtube/02. \354\235\264\354\247\204\355\203\220\354\203\211.py"	
+++ /dev/null
@@ -1,41 +0,0 @@
-'''
-# 이진탐색(binary search)
-탐색 범위를 절반씩 줄여나가면서 찾는다
-Youtube : https://www.youtube.com/watch?v=Q8uUOMY5Hec&list=PLAdQRRy4vtQRwAGymS3q3VXk1WUfhZg7l&index=19
-
-# 장점
-1. 빠르다 O(log n)
-2. 실제로 쓰인다.
-
-# 단점
-1. 정렬이 되어 있어야 한다.
-2. 만들기 어렵다.
-
-# 핵심로직
-중간 인덱스값을 구한다.
-10억 -> 5억
-5억 -> 2.5억
-범위가 절반씩 줄어든다.
-'''
-arr = [1,2,3,5,6,7,8,9,10,11]
-
-
-def binarySearch(arr, targetNumber):
-    start = 0
-    end = len(arr) - 1
-
-    while (start <= end):
-        midIndex = (start + end) // 2
-        print(midIndex, arr[midIndex])
-
-        if arr[midIndex] > targetNumber:
-            end = midIndex - 1
-        elif arr[midIndex] < targetNumber:
-            start = midIndex + 1
-        else:
-            print()
-            return midIndex
-    return -1
-
-
-print('result : ',binarySearch(arr, 8))
\ No newline at end of file
diff --git "a/theory_Python/Youtube/03. \353\262\204\353\270\224\354\240\225\353\240\254.py" "b/theory_Python/Youtube/03. \353\262\204\353\270\224\354\240\225\353\240\254.py"
deleted file mode 100644
index 5feca04..0000000
--- "a/theory_Python/Youtube/03. \353\262\204\353\270\224\354\240\225\353\240\254.py"	
+++ /dev/null
@@ -1,22 +0,0 @@
-'''
-알고리즘에서 가장 첫번째로 나오는 알고리즘
-거품이 물에서 떠오르는 모양
-
-핵심로직 :
-첫번째거랑 두번째꺼랑 비교해서 두번째께 더 작으면 첫번째거랑 자리를 바꾼다.
-'''
-
-arr  = [6, 5, 4, 3, 2, 1, 7, 9, 10, 8]
-print(arr)
-
-
-def bubbleSort(arr):
-    for i in range(0, len(arr)-1):
-        for j in range(0, len(arr)-i-1):
-            if arr[j] > arr[j+1]:
-                arr[j], arr[j+1] = arr[j+1], arr[j]
-                print(arr)
-    return arr
-
-
-print('결과 : ', bubbleSort(arr))
\ No newline at end of file
diff --git "a/theory_Python/Youtube/06. BFS - \354\265\234\353\213\250\352\262\275\353\241\234.py" "b/theory_Python/Youtube/06. BFS - \354\265\234\353\213\250\352\262\275\353\241\234.py"
deleted file mode 100644
index fe93367..0000000
--- "a/theory_Python/Youtube/06. BFS - \354\265\234\353\213\250\352\262\275\353\241\234.py"	
+++ /dev/null
@@ -1,32 +0,0 @@
-import queue
-
-adj = { # 입력 그래프
-    'a':['b', 'c'],
-    'b':['a', 'd', 'e'],
-    'c':['a', 'e'],
-    'd':['b'],
-    'e':['b', 'c', 'f'],
-    'f':['e', 'g'],
-    'g':['f', 'h'],
-    'h':['g']
-    }
-
-
-def bfs(adj, start): # adj 입력 그래프, start 탐색 시작할 노드
-    visited = set() # 어떤 정점을 방문했는지 표시하기위해 visited 를 집합으로 표시
-    tovisit = queue.Queue() # 방문예정목록을 queue로 관리
-    tovisit.put(start) # 시작 정점 start를 tovisit 맨 처음에 넣어줌
-
-    while not tovisit.empty(): # 방문예정목록이 빌때까지 정점 방문을 계속한다
-        u = tovisit.get() # 방문예정목록에서 노드를 하나 꺼내 u 에 넣습니다.
-        if u in visited: # 정점 u를 이미 방문했다면 무시한다
-            continue
-        visited.add(u) # 집합 visited에 노드 u를 넣어서 u가 이미 방문한 노드임을 나타낸다
-        print("visit : ",u)
-
-        for v in adj[u]: # 노드 u의 이웃 노드중에 아직 방문하지 않은 노드를 방문예정목록에 넣어준다
-            if v not in visited:
-                tovisit.put(v)
-
-
-print(bfs(adj, 'a'))
\ No newline at end of file
diff --git "a/theory_Python/Youtube/07.\354\232\260\354\204\240\354\210\234\354\234\204 \355\201\220.py" "b/theory_Python/Youtube/07.\354\232\260\354\204\240\354\210\234\354\234\204 \355\201\220.py"
deleted file mode 100644
index d788fd7..0000000
--- "a/theory_Python/Youtube/07.\354\232\260\354\204\240\354\210\234\354\234\204 \355\201\220.py"	
+++ /dev/null
@@ -1,13 +0,0 @@
-import heapq
-
-arr = []
-heapq.heappush(arr, 1)
-heapq.heappush(arr, 10)
-heapq.heappush(arr, 2)
-heapq.heappush(arr, 9)
-heapq.heappush(arr, 4)
-heapq.heappush(arr, 5)
-print(arr)
-
-while arr:
-    print(heapq.heappop(arr))
\ No newline at end of file
diff --git "a/theory_Python/Youtube/08. \354\212\254\353\235\274\354\235\264\353\224\251 \354\234\210\353\217\204\354\232\260.py" "b/theory_Python/Youtube/08. \354\212\254\353\235\274\354\235\264\353\224\251 \354\234\210\353\217\204\354\232\260.py"
deleted file mode 100644
index 786a1d0..0000000
--- "a/theory_Python/Youtube/08. \354\212\254\353\235\274\354\235\264\353\224\251 \354\234\210\353\217\204\354\232\260.py"	
+++ /dev/null
@@ -1,12 +0,0 @@
-# 슬라이딩 윈도우
-arr = [2, 4, 7, 10, 8, 4]
-window_size = 3
-
-window_sum, max_sum, start = 0, 0, 0
-for end in range(len(arr)):
-    window_sum += arr[end]
-    if end >= (window_size - 1):
-        max_sum = max(max_sum, window_sum)
-        window_sum -= arr[start]
-        start += 1
-print(max_sum)
\ No newline at end of file
diff --git "a/\353\262\204\353\270\224\354\240\225\353\240\254.py" "b/\353\262\204\353\270\224\354\240\225\353\240\254.py"
new file mode 100644
index 0000000..25dc0e1
--- /dev/null
+++ "b/\353\262\204\353\270\224\354\240\225\353\240\254.py"
@@ -0,0 +1,8 @@
+list  = [6, 5, 4, 3, 2, 1]
+print(list)
+
+for i in range(0, len(list)-1):
+    for j in range(0, len(list)-1-i):
+        list[j], list[j+1] = list[j+1], list[j]
+
+print(list)
\ No newline at end of file
diff --git "a/\354\236\220\353\243\214\352\265\254\354\241\260 1\354\235\274\354\260\250.py" "b/\354\236\220\353\243\214\352\265\254\354\241\260 1\354\235\274\354\260\250.py"
new file mode 100644
index 0000000..8693820
--- /dev/null
+++ "b/\354\236\220\353\243\214\352\265\254\354\241\260 1\354\235\274\354\260\250.py"	
@@ -0,0 +1,53 @@
+## Day 1
+
+# L = ['Bob', 'Steve', 'Sap']
+# print(L)
+# print(type(L))
+#
+# L.append('New')
+# print(L)
+#
+# L.pop()
+# print(L)
+
+# K = [20, 37, 45, 72, 96, 102]
+# print(K)
+# K.insert(3, 99)
+# print(K)
+# del(K[2])
+# print(K)
+
+# L = ['Bob', 'Steve', 'Sap']
+# print(L.index('Sap'))
+#
+# for i in range(len(L)):
+#     print(L[i], end=' ')
+
+# def solution(L, x):
+#     for i in range(len(L)-1):
+#         if L[i] <= x:
+#             if x <= L[i+1]:
+#                 L.insert(i+1, x)
+#                 break
+#         else:
+#             L.insert(0, x)
+#             break
+#     answer = L
+#     return L
+#
+# L = [2, 3, 6, 9, 16, 25, 36, 49, 64, 81, 100]
+# x = int(input('X value : '))
+# print(solution(L, x))
+
+def solution(L, x):
+    idx = []
+    for i in range(len(L)):
+        if L[i] == x:
+            idx.append(i)
+            if len(idx) == 0:
+                idx.append(-1)
+            return idx
+
+L = [4, 9, 16, 25, 36, 49, 64, 81]
+x = int(input('X value : '))
+print(solution(L, x))
\ No newline at end of file
diff --git "a/\354\236\220\353\243\214\352\265\254\354\241\260 2\354\235\274\354\260\250.py" "b/\354\236\220\353\243\214\352\265\254\354\241\260 2\354\235\274\354\260\250.py"
new file mode 100644
index 0000000..e60285f
--- /dev/null
+++ "b/\354\236\220\353\243\214\352\265\254\354\241\260 2\354\235\274\354\260\250.py"	
@@ -0,0 +1,42 @@
+## Day 2
+
+# L = [3, 8, 2, 16, 1, 49]
+# L.sort()
+# print(L)
+
+# L.sort(reverse=1)
+# print(L)
+
+# def linear_search(L, x): # O(n)
+#     i = 0
+#     while i < len(L) and L[i] != x:
+#         i += 1
+#     if i < len(L):
+#         return i
+#     else:
+#         return -1
+#
+# L = [3, 8, 2, 16, 1, 49]
+# x = int(input('X value : '))
+# print(linear_search(L, x))
+
+def binary_search(L, x): # O(logn)
+    lower = 0
+    upper = len(L)-1
+    idx = -1
+
+    while lower <= upper:
+        middle = (lower + upper)//2
+        if L[middle] == x:
+            idx = middle
+            break
+        elif L[middle] < x:
+            lower = middle + 1
+        else:
+            upper = middle - 1
+
+    return idx
+
+L = [3, 8, 2, 16, 1, 49]
+x = int(input('X value : '))
+print(binary_search(L, x))
\ No newline at end of file
diff --git "a/\354\236\220\353\243\214\352\265\254\354\241\260 3\354\235\274\354\260\250.py" "b/\354\236\220\353\243\214\352\265\254\354\241\260 3\354\235\274\354\260\250.py"
new file mode 100644
index 0000000..3b40a16
--- /dev/null
+++ "b/\354\236\220\353\243\214\352\265\254\354\241\260 3\354\235\274\354\260\250.py"	
@@ -0,0 +1,141 @@
+## Day 3
+
+# def recursive_sum(n):
+#     print(n)
+#     if n <= 1:
+#         return n
+#     else:
+#         return n+sum(n-1)
+#
+# a = int(input('Write the Number : '))
+# print(recursive_sum(a))
+
+'''
+만약 if로 1 이하의 경우를 브레이크 걸지 않으면 음수까지 계속 진행함
+'''
+
+# def iteration_sum(n):
+#     sum = 0
+#     while n >= 0:
+#         print(n)
+#         sum += n
+#         n -= 1
+#
+#     return sum
+#
+# a = int(input('Write the Number : '))
+# print(iteration_sum(a))
+
+'''
+둘다 복잡도는 O(n)으로 같으나
+Efficiency는 Recursive가 더 좋다.
+'''
+
+# def sum(n):
+#     return n*(n+1) // 2
+#
+# a = int(input('Write the Number : '))
+# print(sum(a))
+
+'''
+이 방법이 O(1)로 가장 빠름
+'''
+
+# def factorial(n):
+#     print(n)
+#     if n <= 1:
+#         return 1
+#     else:
+#         return n * factorial(n-1)
+#
+# a = int(input('Write the Number : '))
+# print(factorial(a))
+
+
+# def fibonacci(n):
+#     result = 0
+#     F0 = 0
+#     F1 = 1
+#     if n == 0:
+#         result = F0
+#     elif n == 1:
+#         result = F1
+#     elif n > 1:
+#         result = fibonacci(n-1) + fibonacci(n-2)
+#     return result
+#
+# a = int(input('Write the Number : '))
+# print(fibonacci(a))
+
+# def iteration_fibonacci(n):
+#     if n <= 1:
+#         return n
+#     else:
+#         i = 2
+#         t0 = 0
+#         t1 = 1
+#
+#         while i <= n:
+#             t0, t1 = t1, t0+t1
+#             i += 1
+#     return t1
+#
+# a = int(input('Write the Number : '))
+# print(iteration_fibonacci(a))
+
+'''
+피보나치의 수열 또한 재귀함수로 구현이 가능하다
+'''
+
+# def factorial(n):
+#
+#     if n <= 1:
+#         return 1
+#     else:
+#         return n * factorial(n-1)
+#
+# def combi(n, m):
+#     return factorial(n) / (factorial(b) * factorial(n-m))
+#
+# a = int(input('Write the Number1 : '))
+# b = int(input('Write the Number2 : '))
+# print(combi(a, b))
+
+'''
+조합의 수 계산도 재귀함수로 구현이 가능하다
+위의 문제 : n개의 서로 다른 원소에서 m개를 택하는 경우의 
+'''
+
+def solution(L, x, start, end):
+    if end < start:
+        return -1
+
+    mid = (start + end)//2
+
+    if x == L[mid]:
+        return mid
+    elif x < L[mid]:
+        return solution(L, x, start, mid-1)
+    else:
+        return solution(L, x, mid+1, end)
+
+L = [4, 9, 16, 25, 36, 49, 64, 81]
+x = int(input('Find num : '))
+start = int(input('From : '))
+end = int(input('To : '))
+print('The result idx is', solution(L, x, start, end))
+
+'''
+리스트 L과, 그 안에서 찾으려는 원소 x가 인자로 주어지고,
+또한 탐색의 대상이 되는 리스트 내에서의 범위 인덱스가 l부터 u까지로 정해질 때,
+x와 같은 값을 가지는 원소의 인덱스를 리턴하는 함수 solution()을 완성하시오.
+
+만약 리스트 L 안에서 x와 같은 값을 가지는 원소가 존재하지 않을 경우에는 -1을 리턴합니다.
+리스트 L은 자연수 원소들로 이루어져 있으며, 크기 순으로 정렬되어 있다고 가정한다.
+또한, 동일한 원소는 2번 이상 나타나지 않습니다.
+
+인덱스 범위를 나타내는 l과 u가 인자로 주어지는 이유는, 이 함수를 재귀적인 방법으로
+구현하기 위함입니다.
+
+빈 칸에 알맞은 내용을 채워서 재귀 함수인 solution()을 완성하세요.
+'''
\ No newline at end of file
diff --git "a/theory_Python/Youtube/04. \354\236\254\352\267\200.py" "b/\354\236\254\352\267\200.py"
similarity index 73%
rename from "theory_Python/Youtube/04. \354\236\254\352\267\200.py"
rename to "\354\236\254\352\267\200.py"
index 6bb2293..dea6b62 100644
--- "a/theory_Python/Youtube/04. \354\236\254\352\267\200.py"	
+++ "b/\354\236\254\352\267\200.py"
@@ -1,12 +1,12 @@
-def sum(n):
-    print(n)
-    if n <= 1:
-        return n
-    else:
-        return n + sum(n-1)
-
-n = int(input())
-print('result : ', sum(n))
+# def sum(n):
+#     print(n)
+#     if n <= 1:
+#         return n
+#     else:
+#         return n + sum(n-1)
+#
+# n = int(input())
+# print('result : ', sum(n))
 
 # def pac(n):
 #     print(n, end=' ')
diff --git "a/theory_Python/Youtube/05. \354\236\254\352\267\200-\355\225\230\353\205\270\354\235\264\354\235\230\355\203\221.py" "b/\355\225\230\353\205\270\354\235\264\354\235\230\355\203\221.py"
similarity index 100%
rename from "theory_Python/Youtube/05. \354\236\254\352\267\200-\355\225\230\353\205\270\354\235\264\354\235\230\355\203\221.py"
rename to "\355\225\230\353\205\270\354\235\264\354\235\230\355\203\221.py"
