diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..003ce21
Binary files /dev/null and b/.DS_Store differ
diff --git a/.idea/Devils_Algorithm.iml b/.idea/Devils_Algorithm.iml
new file mode 100644
index 0000000..998c5d4
--- /dev/null
+++ b/.idea/Devils_Algorithm.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..821e69d
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..42d0c60
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index f06e0d2..574c88d 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,8 +5,8 @@
-
+
@@ -17,13 +17,14 @@
@@ -53,23 +54,25 @@
"Application.BOJ24060_joshcho.executor": "Run",
"Application.BOJ5639_joshcho.executor": "Run",
"ModuleVcsDetector.initialDetectionPerformed": "true",
+ "Python.BOJ16463.executor": "Run",
+ "Python.BOJ2217.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
"RunOnceActivity.git.unshallow": "true",
- "git-widget-placeholder": "dwoong/week01__BOJ5639",
+ "git-widget-placeholder": "dwoong/week03__BOJ2217",
"kotlin-language-version-configured": "true",
- "last_opened_file_path": "/Users/joshcho/Devils_Algorithm",
+ "last_opened_file_path": "/Users/dwoong/Desktop/dfw/Devils_Algorithm",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"nodejs_package_manager_path": "npm",
- "settings.editor.selected.configurable": "preferences.language.and.region",
+ "settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
"vue.rearranger.settings.migration": "true",
"애플리케이션.BOJ24060_joshcho.executor": "Run"
}
}]]>
-
+
@@ -100,8 +103,8 @@
-
-
+
+
@@ -118,15 +121,31 @@
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Devil_C/.DS_Store b/Devil_C/.DS_Store
new file mode 100644
index 0000000..9a4252a
Binary files /dev/null and b/Devil_C/.DS_Store differ
diff --git a/Devil_C/week01_recursion/.DS_Store b/Devil_C/week01_recursion/.DS_Store
new file mode 100644
index 0000000..003f1fc
Binary files /dev/null and b/Devil_C/week01_recursion/.DS_Store differ
diff --git a/Devil_Java/src/main/java/week01_recursion/gold/BOJ5639_dwoong.java b/Devil_Java/src/main/java/week01_recursion/gold/BOJ5639_dwoong.java
index 608e621..7441289 100644
--- a/Devil_Java/src/main/java/week01_recursion/gold/BOJ5639_dwoong.java
+++ b/Devil_Java/src/main/java/week01_recursion/gold/BOJ5639_dwoong.java
@@ -57,4 +57,4 @@ void search(Node n) {
System.out.println(n.key);
}
-}
+}gi
diff --git a/Devil_Python/.DS_Store b/Devil_Python/.DS_Store
new file mode 100644
index 0000000..256d837
Binary files /dev/null and b/Devil_Python/.DS_Store differ
diff --git a/Devil_Python/week01_recursion/.DS_Store b/Devil_Python/week01_recursion/.DS_Store
new file mode 100644
index 0000000..dd92402
Binary files /dev/null and b/Devil_Python/week01_recursion/.DS_Store differ
diff --git a/Devil_Python/week02_recursion/gold/BOJ12100.py b/Devil_Python/week02_recursion/gold/BOJ12100.py
new file mode 100644
index 0000000..6e114e6
--- /dev/null
+++ b/Devil_Python/week02_recursion/gold/BOJ12100.py
@@ -0,0 +1,108 @@
+import sys
+
+board = []
+
+N = int(sys.stdin.readline().strip()) #\n 없애기 .strip()
+
+#board 만들어
+for row in range(N):
+ line = sys.stdin.readline().split()
+ values = []
+ for x in line:
+ values.append(int(x))
+ board.append(values)
+
+
+#왼쪽 기준
+def sum_line(line):
+
+ new_line = []
+ for k in line:
+ if k != 0:
+ new_line.append(k)
+
+ result = []
+
+ combined = False #합쳐진거 이미 건너뛰어야돼
+
+ for i in range(len(new_line)):
+ if combined:
+ combined = False
+ continue
+ #합쳐졌으면 건너뛰고 다음으로 걍 진행
+ if i + 1 < len(new_line) and new_line[i] == new_line[i+1]:
+ result.append(new_line[i] * 2)
+ combined = True
+
+ else:
+ result.append(new_line[i])
+
+ while len(result) < N:
+ result.append(0)
+
+ return result
+
+def move(board, direction):
+ new_board = []
+
+ for k in range(N):
+ row = []
+ for j in range(N):
+ row.append(0)
+ new_board.append(row)
+
+ #왼쪽
+ if direction == 0:
+ for i in range(N):
+ new_board[i] = sum_line(board[i])
+
+ #오른쪽
+ elif direction == 1:
+ for i in range(N):
+ new_board[i] = sum_line(board[i][::-1])[::-1] #보드 뒤집어서 하기 왜냐면 왼쪽 기준이니까
+
+ #위쪽
+ #음므믐ㅁㅁ 왼쪽 기준이니까 세로 계산해서 하기
+ elif direction == 2:
+ for i in range(N):
+ col = []
+ for j in range(N):
+ col.append(board[j][i])
+
+ new_col = sum_line(col)
+
+ for j in range(N):
+ new_board[j][i] = new_col[j]
+
+ #아래쪽
+ #위쪽 뒤짐으면 되지 않나
+ elif direction == 3:
+ for i in range(N):
+ col = []
+ for j in range(N-1, -1, -1):
+ col.append(board[j][i])
+
+ new_col = sum_line(col)[::-1]
+
+ for j in range(N):
+ new_board[j][i] = new_col[j]
+
+ return new_board
+
+
+#최대 5번까지 해보기 for문 5번?
+output = 0
+for d1 in range(4):
+ for d2 in range(4):
+ for d3 in range(4):
+ for d4 in range(4):
+ for d5 in range(4):
+ directions = [d1, d2, d3, d4, d5]
+ copy_board = board
+ for d in directions:
+ copy_board = move(copy_board, d)
+ for i in range(N):
+ output = max(output, max(copy_board[i]))
+
+print(output)
+
diff --git a/Devil_Python/week02_recursion/silver/BOJ16463.py b/Devil_Python/week02_recursion/silver/BOJ16463.py
new file mode 100644
index 0000000..846632c
--- /dev/null
+++ b/Devil_Python/week02_recursion/silver/BOJ16463.py
@@ -0,0 +1,32 @@
+N = int(input())
+
+month = [31,28,31,30,31,30,31,31,30,31,30,31]
+
+
+first_day = 1 #화요일 설정 # 0,1,2,3,4,5,6
+count = 0
+
+
+for year in range(2019, N+1):
+ for m in range(12):
+
+ #2월 윤년 계산!
+ if m == 1:
+
+ #400의 배수, 100의 배수가 아니면서 4의 배수
+ if (year % 400 == 0) or (year % 100 != 0 and year % 4 == 0):
+ month_days = 29
+ else:
+ month_days = 28
+
+ else:
+ month_days = month[m]
+
+ #금요일 수 세기
+ if (first_day + 12) % 7 == 4:
+ count += 1
+
+ #다음 월 시작 요일 계산
+ first_day = (first_day + month_days) % 7
+
+print(count)
\ No newline at end of file
diff --git a/Devil_Python/week03_recursion/gold/BOJ1744.py b/Devil_Python/week03_recursion/gold/BOJ1744.py
new file mode 100644
index 0000000..e69de29
diff --git a/Devil_Python/week03_recursion/silver/BOJ2217.py b/Devil_Python/week03_recursion/silver/BOJ2217.py
new file mode 100644
index 0000000..25d2e51
--- /dev/null
+++ b/Devil_Python/week03_recursion/silver/BOJ2217.py
@@ -0,0 +1,21 @@
+N = int(input().strip())
+rope = [int(input().strip()) for _ in range(N)]
+
+Max = 0
+
+# 로프 여러개니까 내림차순 정렬 후 가능한 무게 찾기 (30 ,20, 10)
+
+rope.sort(reverse=True)
+
+for i in range(N):
+ weight = rope[i] * (i + 1)
+ Max = max(Max, weight)
+
+
+print(Max)
+
+
+# [40, 30, 20, 10]
+
+# rope[0] = 40 x 1 로프 1개
+# rope[1] = 30 x 2 60kg 가능
\ No newline at end of file