diff --git a/week2/.idea/.gitignore b/week2/.idea/.gitignore
new file mode 100644
index 00000000..13566b81
--- /dev/null
+++ b/week2/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/week2/.idea/git_toolbox_blame.xml b/week2/.idea/git_toolbox_blame.xml
new file mode 100644
index 00000000..7dc12496
--- /dev/null
+++ b/week2/.idea/git_toolbox_blame.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week2/.idea/material_theme_project_new.xml b/week2/.idea/material_theme_project_new.xml
new file mode 100644
index 00000000..0acefebe
--- /dev/null
+++ b/week2/.idea/material_theme_project_new.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week2/.idea/misc.xml b/week2/.idea/misc.xml
new file mode 100644
index 00000000..31e1ebce
--- /dev/null
+++ b/week2/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week2/.idea/modules.xml b/week2/.idea/modules.xml
new file mode 100644
index 00000000..11a061b8
--- /dev/null
+++ b/week2/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week2/.idea/vcs.xml b/week2/.idea/vcs.xml
new file mode 100644
index 00000000..6c0b8635
--- /dev/null
+++ b/week2/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week2/.idea/week2.iml b/week2/.idea/week2.iml
new file mode 100644
index 00000000..37cf0eb4
--- /dev/null
+++ b/week2/.idea/week2.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/week2/dynamic_programming/\353\217\214\352\262\214\354\236\204/dlwldn30/Main.java" "b/week2/dynamic_programming/\353\217\214\352\262\214\354\236\204/dlwldn30/Main.java"
new file mode 100644
index 00000000..3a4225d2
--- /dev/null
+++ "b/week2/dynamic_programming/\353\217\214\352\262\214\354\236\204/dlwldn30/Main.java"
@@ -0,0 +1,20 @@
+package 돌게임.dlwldn30;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+public class Main {
+ public static void main(String[] args) throws IOException {
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
+
+ int N = Integer.parseInt(br.readLine());
+
+ if(N%2==0){
+ System.out.println("CY");
+ }
+ else {
+ System.out.println("SK");
+ }
+ }
+}
diff --git "a/week2/dynamic_programming/\354\204\240\354\210\230\352\263\274\353\252\251/dlwldn30/Main.java" "b/week2/dynamic_programming/\354\204\240\354\210\230\352\263\274\353\252\251/dlwldn30/Main.java"
new file mode 100644
index 00000000..4b81620f
--- /dev/null
+++ "b/week2/dynamic_programming/\354\204\240\354\210\230\352\263\274\353\252\251/dlwldn30/Main.java"
@@ -0,0 +1,14 @@
+package 선수과목.dlwldn30;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+public class Main {
+ public static void main(String[] args) throws IOException {
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
+
+ int N = Integer.parseInt(br.readLine());
+ int M = Integer.parseInt(br.readLine());
+ }
+}
diff --git "a/week2/dynamic_programming/\355\225\251\353\266\204\355\225\264/dlwldn30/Main.java" "b/week2/dynamic_programming/\355\225\251\353\266\204\355\225\264/dlwldn30/Main.java"
new file mode 100644
index 00000000..1d123b1b
--- /dev/null
+++ "b/week2/dynamic_programming/\355\225\251\353\266\204\355\225\264/dlwldn30/Main.java"
@@ -0,0 +1,28 @@
+package 합분해.dlwldn30;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+public class Main {
+ public static void main(String[] args) throws IOException {
+ BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
+
+ int N = Integer.parseInt(br.readLine());
+ int K = Integer.parseInt(br.readLine());
+
+ int[][] dp= new int[K+1][N+1];
+
+ for (int i = 0; i <= N; i++){
+ dp[1][i] = 1;
+ }
+
+ for (int i = 2; i <= K; i++){
+ for (int n = 0; n <= N; n++){
+ dp[i][n] = (dp[i][n-1] + dp[i-1][n]) % 1000000000;
+ }
+ }
+ System.out.println(dp[K][N]);
+ }
+
+}
diff --git a/week2/out/production/week2/README.md b/week2/out/production/week2/README.md
new file mode 100644
index 00000000..3f5a6668
--- /dev/null
+++ b/week2/out/production/week2/README.md
@@ -0,0 +1,82 @@
+# Dynamic Programming 1 (동적계획법 1)
+
+[메인으로 돌아가기](https://github.com/Alom-codingTest/alom-codingTest-25-1)
+
+다이나믹 프로그래밍 유형 쉬운 문제 위주로 뽑았습니다.
+다이나믹 프로그래밍은 점화식을 세우면 절반 이상은 풀었다고 볼 수 있습니다.
+점화식 세우는 건 금방 익히기 힘들어 코딩테스트에 나올만한 문제들,
+다이나믹 프로그래밍을 공부할만한 문제들을 최대한 뽑았습니다.
+
+| 순번 | 문제 번호 | 문제 이름 | 난이도 |
+|:---:|:-------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------:|
+| 000 | 10870 | 피보나치 수 5 |
|
+| 001 | 2748 | 피보나치 수 2 |
|
+| 002 | 1010 | 다리 놓기 |
|
+| 003 | 9655 | 돌 게임 |
|
+| 004 | 2839 | 설탕 배달 |
|
+| 005 | 1463 | 1로 만들기 |
|
+| 006 | 2579 | 계단 오르기 |
|
+| 007 | 11726 | 2×n 타일링 |
|
+| 008 | 2407 | 조합 |
|
+| 009 | 17626 | Four Squares |
|
+| 010 | 11727 | 2×n 타일링 2 |
|
+| 011 | 9095 | 1, 2, 3 더하기 |
|
+| 012 | 1912 | 연속합 |
|
+| 013 | 11053 | 가장 긴 증가하는 부분 수열 |
|
+| 014 | 22857 | 가장 긴 짝수 연속한 부분 수열 (small) |
|
+| 015 | 11055 | 가장 큰 증가하는 부분 수열 |
|
+| 016 | 21317 | 징검다리 건너기 |
|
+| 017 | 10844 | 쉬운 계단 수 |
|
+| 018 | 1890 | 점프 |
|
+| 019 | 2156 | 포도주 시식 |
|
+| 020 | 22869 | 징검다리 건너기 (small) |
|
+| 021 | 11660 | 구간 합 구하기 5 |
|
+| 022 | 9465 | 스티커 |
|
+| 023 | 2294 | 동전 2 |
|
+| 024 | 15486 | 퇴사 2 |
|
+| 025 | 1106 | 호텔 |
|
+| 026 | 2293 | 동전 1 |
|
+
+# Dynamic Programming 2 (동적계획법 2)
+
+[메인으로 돌아가기](https://github.com/Alom-codingTest/alom-codingTest-25-1)
+
+다이나믹 프로그래밍 유형 문제 위주로 뽑았습니다.
+
+다이나믹 프로그래밍은 점화식을 세우면 절반 이상은 풀었다고 볼 수 있습니다.
+
+점화식 세우는 건 금방 익히기 힘들어 코딩테스트에 나올만한 문제들,
+다이나믹 프로그래밍을 공부할만한 문제들을 최대한 뽑았습니다.
+
+풀어보면 좋을 문제는 추천 문제에 체크(:heavy_check_mark:) 해놨습니다.
+
+| 순번 | 문제 번호 | 문제 이름 | 난이도 |
+|:---:|:-------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------:|
+| 000 | 15724 | 주지수 |
||
+| 001 | 12865 | 평범한 배낭 |
||
+| 002 | 9251 | LCS |
|바로 가기|
+| 003 | 2225 | 합분해 |
||
+| 004 | 5557 | 1학년 |
|바로 가기|
+| 005 | 17485 | 진우의 달 여행 (Large) |
|바로 가기|
+| 006 | 14567 | 선수과목 (Prerequisite) |
|바로 가기|
+| 007 | 9084 | 동전 |
||
+| 008 | 2758 | 로또 |
||
+| 009 | 1915 | 가장 큰 정사각형 |
||
+| 010 | 10942 | 팰린드롬? |
||
+| 011 | 2073 | 수도배관공사 |
||
+| 012 | 18427 | 함께 블록 쌓기 |
|바로 가기|
+| 013 | 2056 | 작업 |
||
+| 014 | 21941 | 문자열 제거 |
||
+| 015 | 21923 | 곡예 비행 |
|바로 가기|
+| 016 | 2624 | 동전 바꿔주기 |
||
+| 017 | 2631 | 줄세우기 |
||
+| 018 | 1520 | 내리막 길 |
|바로 가기|
+| 019 | 2228 | 구간 나누기 |
||
+| 020 | 1005 | ACM Craft |
|바로 가기|
+| 021 | 2629 | 양팔저울 |
||
+| 022 | 1695 | 팰린드롬 만들기 |
||
+| 023 | 11049 | 행렬 곱셈 순서 |
||
+| 024 | 1823 | 수확 |
||
+| 025 | 20542 | 받아쓰기 |
||
+| 026 | 3687 | 성냥개비 |
|바로 가기|
+| 027 | 20181 | 꿈틀꿈틀 호석 애벌레 - 효율성 |
||
\ No newline at end of file
diff --git "a/week2/out/production/week2/\353\217\214\352\262\214\354\236\204/dlwldn30/Main.class" "b/week2/out/production/week2/\353\217\214\352\262\214\354\236\204/dlwldn30/Main.class"
new file mode 100644
index 00000000..3e99a8d5
Binary files /dev/null and "b/week2/out/production/week2/\353\217\214\352\262\214\354\236\204/dlwldn30/Main.class" differ
diff --git a/week3/.idea/.gitignore b/week3/.idea/.gitignore
new file mode 100644
index 00000000..13566b81
--- /dev/null
+++ b/week3/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/week3/.idea/material_theme_project_new.xml b/week3/.idea/material_theme_project_new.xml
new file mode 100644
index 00000000..7c10705f
--- /dev/null
+++ b/week3/.idea/material_theme_project_new.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week3/.idea/vcs.xml b/week3/.idea/vcs.xml
new file mode 100644
index 00000000..d843f340
--- /dev/null
+++ b/week3/.idea/vcs.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git "a/week3/backtracking/N\352\263\274M_6/dlwldn30/Main.java" "b/week3/backtracking/N\352\263\274M_6/dlwldn30/Main.java"
new file mode 100644
index 00000000..09478d08
--- /dev/null
+++ "b/week3/backtracking/N\352\263\274M_6/dlwldn30/Main.java"
@@ -0,0 +1,49 @@
+package N과M_6.dlwldn30;
+
+import java.io.*;
+import java.util.*;
+
+public class Main {
+ static int N, M;
+ static int[] arr;
+ static List output = new ArrayList<>();
+ static StringBuilder sb = new StringBuilder();
+ 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];
+ st = new StringTokenizer(br.readLine());
+ for (int i = 0; i < N; i++) {
+ arr[i] = Integer.parseInt(st.nextToken());
+ }
+
+ Arrays.sort(arr); // 사전순 출력을 위해 정렬
+
+ solve(0, 0);
+
+ System.out.print(sb);
+ }
+
+ static void solve(int start, int depth) {
+ if (depth == M) {
+ for (int num : output) {
+ sb.append(num).append(' ');
+ }
+ sb.append('\n');
+ return;
+ }
+
+ for (int i = start; i < N; i++) {
+ output.add(arr[i]);
+ solve(i + 1, depth + 1);
+ output.remove(output.size() - 1);
+ }
+ }
+}
+
+
diff --git "a/week3/brute_force/\353\270\224\353\236\231\354\236\255/dlwldn30/Main.java" "b/week3/brute_force/\353\270\224\353\236\231\354\236\255/dlwldn30/Main.java"
new file mode 100644
index 00000000..13638460
--- /dev/null
+++ "b/week3/brute_force/\353\270\224\353\236\231\354\236\255/dlwldn30/Main.java"
@@ -0,0 +1,38 @@
+package 블랙잭.dlwldn30;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.StringTokenizer;
+
+public class Main {
+
+ 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 max = 0;
+
+ int[] cards = new int[N];
+ st = new StringTokenizer(br.readLine());
+
+ for (int i = 0; i < N; i++) {
+ cards[i] = Integer.parseInt(st.nextToken());
+ }
+
+ for (int i = 0; i < N - 2; i++) {
+ for (int j = i + 1; j < N - 1; j++) {
+ for (int k = j + 1; k < N; k++) {
+ int sum = cards[i] + cards[j] + cards[k];
+ if (sum <= M) {
+ max = Math.max(max, sum);
+ }
+ }
+ }
+ }
+
+ System.out.println(max);
+ }
+}
diff --git "a/week3/brute_force/\354\240\234\352\263\261\354\210\230\354\260\276\352\270\260/dlwldn30/Main.java" "b/week3/brute_force/\354\240\234\352\263\261\354\210\230\354\260\276\352\270\260/dlwldn30/Main.java"
new file mode 100644
index 00000000..d882277e
--- /dev/null
+++ "b/week3/brute_force/\354\240\234\352\263\261\354\210\230\354\260\276\352\270\260/dlwldn30/Main.java"
@@ -0,0 +1,4 @@
+package 제곱수찾기.dlwldn30;
+
+public class Main {
+}
diff --git a/week6/.idea/.gitignore b/week6/.idea/.gitignore
new file mode 100644
index 00000000..13566b81
--- /dev/null
+++ b/week6/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/week6/.idea/git_toolbox_blame.xml b/week6/.idea/git_toolbox_blame.xml
new file mode 100644
index 00000000..7dc12496
--- /dev/null
+++ b/week6/.idea/git_toolbox_blame.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week6/.idea/material_theme_project_new.xml b/week6/.idea/material_theme_project_new.xml
new file mode 100644
index 00000000..e5402825
--- /dev/null
+++ b/week6/.idea/material_theme_project_new.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week6/.idea/misc.xml b/week6/.idea/misc.xml
new file mode 100644
index 00000000..31e1ebce
--- /dev/null
+++ b/week6/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week6/.idea/modules.xml b/week6/.idea/modules.xml
new file mode 100644
index 00000000..9b9bc1f4
--- /dev/null
+++ b/week6/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week6/.idea/vcs.xml b/week6/.idea/vcs.xml
new file mode 100644
index 00000000..6c0b8635
--- /dev/null
+++ b/week6/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/week6/.idea/week6.iml b/week6/.idea/week6.iml
new file mode 100644
index 00000000..c32c293b
--- /dev/null
+++ b/week6/.idea/week6.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/week6/topological_sorting/\354\204\240\354\210\230\352\263\274\353\252\251/dlwldn30/Main.java" "b/week6/topological_sorting/\354\204\240\354\210\230\352\263\274\353\252\251/dlwldn30/Main.java"
new file mode 100644
index 00000000..5b73d836
--- /dev/null
+++ "b/week6/topological_sorting/\354\204\240\354\210\230\352\263\274\353\252\251/dlwldn30/Main.java"
@@ -0,0 +1,67 @@
+package 선수과목.dlwldn30;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.*;
+
+public class Main {
+
+ 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[] degree = new int[n+1]; // 선수 과목들 수
+ int[] semester = new int[n+1];
+
+ List> array = new ArrayList>();
+ for (int i = 0; i <=n; i++) {
+ array.add(new ArrayList<>());
+ }
+
+ for (int i = 0; i queue = new LinkedList<>();
+
+
+ //선수 과목 없는 것들
+ for (int i = 1; i<= n; i++){
+ if (degree[i] == 0){
+ queue.add(i);
+ semester[i] = 1;
+ }
+ }
+
+ while (!queue.isEmpty()){
+ int cur = queue.poll(); // 선수과목에서 처음부터 차근차근
+ for (int i : array.get(cur)){ // 얘랑 연결된 과목
+ degree[i]--;
+ if (semester[i] <= semester[cur]){
+ semester[i] = semester[cur]+1;
+ }
+ if(degree[i] == 0){
+ queue.add(i);
+ }
+ }
+ }
+ // 결과 출력
+ StringBuilder sb = new StringBuilder();
+ for (int i = 1; i <= n; i++) {
+ sb.append(semester[i]).append(" ");
+ }
+
+ System.out.println(sb.toString());
+
+ }
+
+
+}
diff --git "a/week6/topological_sorting/\354\244\204\354\204\270\354\232\260\352\270\260/dlwldn30/Main.java" "b/week6/topological_sorting/\354\244\204\354\204\270\354\232\260\352\270\260/dlwldn30/Main.java"
new file mode 100644
index 00000000..d1aa6724
--- /dev/null
+++ "b/week6/topological_sorting/\354\244\204\354\204\270\354\232\260\352\270\260/dlwldn30/Main.java"
@@ -0,0 +1,56 @@
+package dlwldn30;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.*;
+
+public class Main {
+ 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()); // 선수 조건 수
+
+ List> array= new ArrayList<>();
+ int[]order = new int[n+1];
+
+ for (int i = 0; i <= n; i++) {
+ array.add(new ArrayList<>());
+ }
+
+
+ for (int i = 0; i < n; i++) {
+ st = new StringTokenizer(br.readLine());
+ int a = Integer.parseInt(st.nextToken());
+ int b = Integer.parseInt(st.nextToken());
+ array.get(a).add(b); // A → B
+ order[b]++; // B의 진입차수 증가
+ }
+
+ // 위상 정렬
+ Queue queue = new LinkedList<>();
+ for (int i = 1; i <= n; i++) {
+ if (order[i] == 0) {
+ queue.offer(i);
+ }
+ }
+
+ StringBuilder sb = new StringBuilder();
+
+ while (!queue.isEmpty()) {
+ int cur = queue.poll();
+ sb.append(cur).append(" ");
+
+ for (int next : array.get(cur)) {
+ order[next]--;
+ if (order[next] == 0) {
+ queue.offer(next);
+ }
+ }
+ }
+
+ System.out.println(sb.toString().trim());
+ }
+}