From 45f1ad7450e1510eba5e552158159f5622aecb4e Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 30 Oct 2023 16:55:12 +0900 Subject: [PATCH 01/98] Update README.md --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/README.md b/README.md index 202b5f8..ac98f00 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,51 @@ # AlgorithmClass 알고리즘 스터디 깃허브 레포 + +## 코테 스터디 계획: + +- 교재: + + 이것이 코딩테스트다. (파이썬, JAVA 등 언어별로 존재) + +- 주언어: + + 자율 or 통일 (JAVA) + +- 문제: + + 백준(2문제 + 시간복잡도 계산) + +- 오프라인 진행 +- 모집 대상: + + 2학년 이상 (선행: 언어 1개이상,자료구조) + +- 모집인원: + + 최소 4~5명 + +- 시작 날짜: + + 10월 말(월요일) + +- 주차별난이도상승: + + → 시험 1주 전에 일시중단, 방학 시즌에 문제 수 증가 + + - 중, 하 (시간복잡도 계산) - 3주간 진행 예정 + - 중(시간복잡도 계산), 하 - 3주간 진행 예정 + - 중(시간복잡도 계산), 상 - 4주간 진행 예정 + - 중, 상(시간복잡도 계산) - 3~4주간 진행 예정 +- 문제풀이 방식: + 1. 에디터를 이용한 풀이 (난이도 하) + 2. 백준 or 프로그래머스의 에디터 이용 + 3. 메모장 작성 + 4. 개인 자유에 맡기기 +- 기간: + + 2월 까지 (13~14주) + + [알고리즘 스터디](https://www.notion.so/312eedf08fa14f2eb0d0f54192e3b9a0?pvs=21) + +자세한 건 노션 0주차 회의록 확인: +https://www.notion.so/85f8430a2caa43b0af202f0fad855e95?v=e3196da9bb6e45bb9b74870fc33ee71f&p=079c0732427a4188a7a2246274ede0c6&pm=s From 6098045b15cd25c7878d167e62adaaf4a1bb4902 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 30 Oct 2023 23:12:19 +0900 Subject: [PATCH 02/98] =?UTF-8?q?=EC=A0=95=EB=A0=AC=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=ED=8F=B4=EB=8D=94=20=EC=83=9D=EC=84=B1.=20=ED=92=80=20?= =?UTF-8?q?=EB=B0=9B=EC=95=84=EC=84=9C=20=EC=93=B0=EC=84=B8=EC=9C=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 "1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" diff --git "a/1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" "b/1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" new file mode 100644 index 0000000..e2cf9e3 --- /dev/null +++ "b/1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" @@ -0,0 +1,3 @@ +유형: 정렬(선택, 버블, 삽입, 쾌속, 합병) + 시간복잡도 계산 + +2750번, 2751번 문제 From 674268ca1a49b409e3c5f6040b626a2b40811cf7 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Wed, 1 Nov 2023 18:58:10 +0900 Subject: [PATCH 03/98] =?UTF-8?q?Create=202750=EB=B2=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "1\354\243\274\354\260\250/2750\353\262\210" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "1\354\243\274\354\260\250/2750\353\262\210" diff --git "a/1\354\243\274\354\260\250/2750\353\262\210" "b/1\354\243\274\354\260\250/2750\353\262\210" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/1\354\243\274\354\260\250/2750\353\262\210" @@ -0,0 +1 @@ + From 1e0a0f1046a241d732c54e067504014ac0cc7d16 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Wed, 1 Nov 2023 18:58:23 +0900 Subject: [PATCH 04/98] Add files via upload --- "1\354\243\274\354\260\250/2750.py" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "1\354\243\274\354\260\250/2750.py" diff --git "a/1\354\243\274\354\260\250/2750.py" "b/1\354\243\274\354\260\250/2750.py" new file mode 100644 index 0000000..da7094a --- /dev/null +++ "b/1\354\243\274\354\260\250/2750.py" @@ -0,0 +1,16 @@ +A = int(input()) +A_list = [] + +for i in range(A): + num = int(input()) + A_list.append(num) + +for i in range(A): + min_index = i + for j in range(i+1, A): + if A_list[j] < A_list[min_index]: + min_index = j + A_list[i], A_list[min_index] = A_list[min_index], A_list[i] + +for i in A_list: + print(i) From f27a2abecb867022c5813073ead61fea91a27549 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Wed, 1 Nov 2023 18:58:39 +0900 Subject: [PATCH 05/98] =?UTF-8?q?Delete=201=EC=A3=BC=EC=B0=A8/2750?= =?UTF-8?q?=EB=B2=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "1\354\243\274\354\260\250/2750\353\262\210" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "1\354\243\274\354\260\250/2750\353\262\210" diff --git "a/1\354\243\274\354\260\250/2750\353\262\210" "b/1\354\243\274\354\260\250/2750\353\262\210" deleted file mode 100644 index 8b13789..0000000 --- "a/1\354\243\274\354\260\250/2750\353\262\210" +++ /dev/null @@ -1 +0,0 @@ - From 8f39a48ea77aaa06074530f11a5619bd1fd57b1a Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 4 Nov 2023 11:27:28 +0900 Subject: [PATCH 06/98] Add files via upload --- "1\354\243\274\354\260\250/2751.py" | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 "1\354\243\274\354\260\250/2751.py" diff --git "a/1\354\243\274\354\260\250/2751.py" "b/1\354\243\274\354\260\250/2751.py" new file mode 100644 index 0000000..243790d --- /dev/null +++ "b/1\354\243\274\354\260\250/2751.py" @@ -0,0 +1,39 @@ +# O(n log n)의 시간 복잡도를 위해 quick_sort 함수 사용 +def quick_sort(arr): + if len(arr) <= 1: + return arr + + # 피벗 원소를 선택 + pivot = arr[len(arr) // 2] + + # 피벗보다 작은 원소들 (왼쪽) + left = [x for x in arr if x < pivot] + + # 피벗과 같은 원소들 (가운데) + middle = [x for x in arr if x == pivot] + + # 피벗보다 큰 원소들 (오른쪽) + right = [x for x in arr if x > pivot] + + return quick_sort(left) + middle + quick_sort(right) + +# 사용자로부터 요소의 개수인 A를 입력받기 +A = int(input()) + +# 사용자 입력을 저장할 빈 리스트를 초기화 +A_list = [] + + +# A개의 정수를 사용자로부터 입력받고 A_list에 저장 +for i in range(A): + num = int(input()) + A_list.append(num) + +# quick_sort 함수를 사용하여 리스트를 정렬 +A_list = quick_sort(A_list) + +# 정렬된 리스트 출력 +for i in A_list: + print(i) + + From 4c21b1a498b1ee10916d163136d30710c1242764 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 4 Nov 2023 11:30:35 +0900 Subject: [PATCH 07/98] =?UTF-8?q?Delete=201=EC=A3=BC=EC=B0=A8/2750.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "1\354\243\274\354\260\250/2750.py" | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 "1\354\243\274\354\260\250/2750.py" diff --git "a/1\354\243\274\354\260\250/2750.py" "b/1\354\243\274\354\260\250/2750.py" deleted file mode 100644 index da7094a..0000000 --- "a/1\354\243\274\354\260\250/2750.py" +++ /dev/null @@ -1,16 +0,0 @@ -A = int(input()) -A_list = [] - -for i in range(A): - num = int(input()) - A_list.append(num) - -for i in range(A): - min_index = i - for j in range(i+1, A): - if A_list[j] < A_list[min_index]: - min_index = j - A_list[i], A_list[min_index] = A_list[min_index], A_list[i] - -for i in A_list: - print(i) From 26e4471231a91aa7400e8c610939a9b0f9b6bd38 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 4 Nov 2023 11:30:48 +0900 Subject: [PATCH 08/98] Add files via upload --- "1\354\243\274\354\260\250/2750.py" | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "1\354\243\274\354\260\250/2750.py" diff --git "a/1\354\243\274\354\260\250/2750.py" "b/1\354\243\274\354\260\250/2750.py" new file mode 100644 index 0000000..0f0bcc7 --- /dev/null +++ "b/1\354\243\274\354\260\250/2750.py" @@ -0,0 +1,27 @@ +# O(N^2)의 시간복잡도를 하기 위해 선택정렬 코드 + +# A개의 정수를 입력 +A = int(input()) + +# 입력된 정수를 저장할 빈 리스트 A_list를 초기화시키기 +A_list = [] + +# A번 반복하여 정수를 사용자로부터 입력받고 A_list 리스트에 저장 +for i in range(A): + num = int(input()) + A_list.append(num) + +# 선택 정렬을 이용하여 리스트를 정렬 +for i in range(A): + # 현재 위치부터 나머지 원소 중에서 최솟값의 인덱스 찾기 + min_index = i + for j in range(i + 1, A): + if A_list[j] < A_list[min_index]: + min_index = j + + # 현재 위치의 원소와 최솟값의 원소를 교환 + A_list[i], A_list[min_index] = A_list[min_index], A_list[i] + +# 정렬된 리스트를 출력 +for i in A_list: + print(i) From 419c420453404d6b125ea0f2c9d724c7b3db8918 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 11 Nov 2023 21:41:59 +0900 Subject: [PATCH 09/98] =?UTF-8?q?Create=201920=EB=B2=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "2\354\243\274\354\260\250/1920\353\262\210" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "2\354\243\274\354\260\250/1920\353\262\210" diff --git "a/2\354\243\274\354\260\250/1920\353\262\210" "b/2\354\243\274\354\260\250/1920\353\262\210" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/2\354\243\274\354\260\250/1920\353\262\210" @@ -0,0 +1 @@ + From 516ff4cbd4fbc875ae3aff63b99eeb4d107a8b31 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 11 Nov 2023 21:42:10 +0900 Subject: [PATCH 10/98] Add files via upload --- .../1920\353\262\210.py" | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 "2\354\243\274\354\260\250/1920\353\262\210.py" diff --git "a/2\354\243\274\354\260\250/1920\353\262\210.py" "b/2\354\243\274\354\260\250/1920\353\262\210.py" new file mode 100644 index 0000000..30f49f8 --- /dev/null +++ "b/2\354\243\274\354\260\250/1920\353\262\210.py" @@ -0,0 +1,30 @@ +def binary_search(array, elem): + #left, right 값 초기화 + left, right = 0, len(array) - 1 + + #왼쪽 인덱스가 오른쪽 인덱스보다 작거나 같을 동안 반복 + while left <= right: + mid = (left + right) // 2 + #중간 값이 찾고자 하는 값과 같다면, 1 반환하고 종료 + if array[mid] == elem: + return 1 + #만약 중간 값이 찾는 값보다 작다면, 왼쪽 범위를 중간 값의 오른쪽으로 1씩 조정 + elif array[mid] < elem: + left = mid + 1 + #중간 값이 찾고자 하는 값보다 크다면, 오른쪽 범위를 중간 값의 왼쪽으로 1씩 조정 + else: + right = mid - 1 + return 0 + +#입력으로부터 정수 n 받기 +n = int(input()) +a_list = list(map(int, input().split())) +#입력으로부터 정수 m 받기 +m = int(input()) +x_list = list(map(int, input().split())) + +#리스트 정렬 +a_list.sort() + +for x in x_list: + print(binary_search(a_list, x)) From 0ecaa8c53b17f9ba62220d8f22b24d2f94a87486 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 11 Nov 2023 21:42:49 +0900 Subject: [PATCH 11/98] =?UTF-8?q?Delete=202=EC=A3=BC=EC=B0=A8/1920?= =?UTF-8?q?=EB=B2=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "2\354\243\274\354\260\250/1920\353\262\210" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "2\354\243\274\354\260\250/1920\353\262\210" diff --git "a/2\354\243\274\354\260\250/1920\353\262\210" "b/2\354\243\274\354\260\250/1920\353\262\210" deleted file mode 100644 index 8b13789..0000000 --- "a/2\354\243\274\354\260\250/1920\353\262\210" +++ /dev/null @@ -1 +0,0 @@ - From 63e57b6ca407cac67a7d758b08ccee17d84291ad Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sat, 11 Nov 2023 21:43:01 +0900 Subject: [PATCH 12/98] Add files via upload --- .../2110\353\262\210.py" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "2\354\243\274\354\260\250/2110\353\262\210.py" diff --git "a/2\354\243\274\354\260\250/2110\353\262\210.py" "b/2\354\243\274\354\260\250/2110\353\262\210.py" new file mode 100644 index 0000000..c4ec9f4 --- /dev/null +++ "b/2\354\243\274\354\260\250/2110\353\262\210.py" @@ -0,0 +1,38 @@ +import sys + +input = sys.stdin.readline +# map 함수를 사용하여 입력된 값을 공백 기준으로 나눈 결과를 정수로 변환하여 각각 저장 +N, C = map(int, input().split()) +#N개의 집 좌표를 입력받고, 각 좌표를 정수로 변환 후 sorted 함수로 정렬하여 home에 저장 +home = sorted([int(input()) for _ in range(N)]) + +# 공유기가 설치될 수 있는 최대 거리를 받아 해당 거리로 공유기를 설치했을 때의 개수를 세는 함수를 정의 +# count 는 공유기의 개수 저장, current 는 현재 집의 좌표 +def count_routers(distance): + count, current = 1, home[0] + + for h in home: + if h - current >= distance: + count += 1 + current = h + + return count + +# 이진 탐색을 위한 시작점과 끝점 설정, 시작점은 항상 1, 끝점은 정렬된 집의 좌표 중 가장 뒤에 있는 좌표에서 가장 앞에 있는 좌표를 뺀 값 +start, end = 1, home[-1] - home[0] +# result 는 공유기 사이의 최대 거 +result = 0 + +# 시작점이 끝점보다 작거나 같은 동안 계속 반복, 중간지점 mid 계산 +while start <= end: + mid = (start + end) // 2 + +# 중간 지점으로 공유기를 설치했을 때의 개수가 목표 개수보다 크거나 같다면, 현재의 중간 값을 결과로 저장 + # 시작점을 중간값보다 +1로 갱신, 그렇지 않다면 끝점을 중간 값보다 -1로 갱신 + if count_routers(mid) >= C: + result = mid + start = mid + 1 + else: + end = mid - 1 + +print(result) From 615bfbef9b9a8166a14875579ccaf5732fd9c3ca Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Sun, 19 Nov 2023 16:14:59 +0900 Subject: [PATCH 13/98] =?UTF-8?q?Create=201260=EB=B2=88.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1260\353\262\210.py" | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 "3\354\243\274\354\260\250/1260\353\262\210.py" diff --git "a/3\354\243\274\354\260\250/1260\353\262\210.py" "b/3\354\243\274\354\260\250/1260\353\262\210.py" new file mode 100644 index 0000000..901fb80 --- /dev/null +++ "b/3\354\243\274\354\260\250/1260\353\262\210.py" @@ -0,0 +1,47 @@ +from collections import deque + +#그래프, 시작노드, 방문 여부 나타내는 배열을 인자로 받기 - 깊이 우선 탐색 +def dfs(graph, start, visited): + print(start, end=' ') + visited[start] = True #노드 방문 완료 + +# 현재 노드에 연결된 이웃 노드들 순회 (정렬된 순서로 방문하기 위해 sorted()함수 사용) + for neighbor in sorted(graph[start]): + if not visited[neighbor]: + dfs(graph, neighbor, visited) # 이웃 노드가 방문되지 않을 시 DFS 함수를 재귀적으로 호출하여 해당 이웃 방문 +# 너비 우선 탐색 +def bfs(graph, start, visited): + queue = deque([start]) # BFS에서 사용할 큐 초기화 - 시작 노드로 큐 초기화 + visited[start] = True + + while queue: # 큐가 비어 있지 않는 동안 반복 + node = queue.popleft() # 큐의 맨 앞에서 노드 꺼내기 + print(node, end=' ') #현재 노드를 출력 + + for neighbor in sorted(graph[node]): + if not visited[neighbor]: + queue.append(neighbor) + visited[neighbor] = True + +# 입력 받기 (정점의 개수 - N, 간선의 개수 - M, 시작 노드 - V) +N, M, V = map(int, input().split()) + +# 1부터 N까지의 정점을 갖는 빈 그래프를 초기화 +graph = {i: set() for i in range(1, N + 1)} + +#간선 정보를 입력받아 양방향 그래프 만들기 +for _ in range(M): + a, b = map(int, input().split()) + graph[a].add(b) + graph[b].add(a) + +# DFS와 BFS에서 사용할 방문 여부를 나타내는 배열을 초기화 +visited_dfs = [False] * (N + 1) +visited_bfs = [False] * (N + 1) + +# DFS 수행 +dfs(graph, V, visited_dfs) +print() + +# BFS 수행 +bfs(graph, V, visited_bfs) From 897ea6e451c5fc02a0635289bf0682f8b34e5f93 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:59:12 +0900 Subject: [PATCH 14/98] =?UTF-8?q?Create=202875=EB=B2=88.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "4\354\243\274\354\260\250/2875\353\262\210.py" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 "4\354\243\274\354\260\250/2875\353\262\210.py" diff --git "a/4\354\243\274\354\260\250/2875\353\262\210.py" "b/4\354\243\274\354\260\250/2875\353\262\210.py" new file mode 100644 index 0000000..50d6f25 --- /dev/null +++ "b/4\354\243\274\354\260\250/2875\353\262\210.py" @@ -0,0 +1,17 @@ +def max_teams(N, M, K): + # 가능한 최대 팀 수 계산 + teams = 0 + + # 여학생과 남학생 중 적은 수의 인원을 기준으로 팀을 구성 + while N >= 2 and M >= 1 and N + M >= K + 3: + N -= 2 + M -= 1 + teams += 1 + + return teams +# 입력 받기 +N, M, K = map(int, input().split()) + +# 최대 팀 수 계산 및 출력 +result = max_teams(N, M, K) +print(result) From 87ba24d66ad2201c018e986090493fa227cd8fe0 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:59:38 +0900 Subject: [PATCH 15/98] Create 11047.py --- "4\354\243\274\354\260\250/11047.py" | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 "4\354\243\274\354\260\250/11047.py" diff --git "a/4\354\243\274\354\260\250/11047.py" "b/4\354\243\274\354\260\250/11047.py" new file mode 100644 index 0000000..37b1fec --- /dev/null +++ "b/4\354\243\274\354\260\250/11047.py" @@ -0,0 +1,20 @@ +def min_coin_count(N, K, coin_values): + count = 0 + + # 가장 큰 가치의 동전부터 차례로 사용하여 K를 만듦 + for i in range(N-1, -1, -1): + if K == 0: + break + if K >= coin_values[i]: + count += K // coin_values[i] + K %= coin_values[i] + + return count + +# 입력 받기 +N, K = map(int, input().split()) +coin_values = [int(input()) for _ in range(N)] + +# 필요한 동전 개수의 최솟값 계산 및 출력 +result = min_coin_count(N, K, coin_values) +print(result) From 075b2131e9cfadca1f2aaf717b57395baac64481 Mon Sep 17 00:00:00 2001 From: sseoy <98001270+01seoyoung@users.noreply.github.com> Date: Thu, 23 Nov 2023 00:59:58 +0900 Subject: [PATCH 16/98] =?UTF-8?q?Rename=2011047.py=20to=2011047=EB=B2=88.p?= =?UTF-8?q?y?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11047.py" => "4\354\243\274\354\260\250/11047\353\262\210.py" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "4\354\243\274\354\260\250/11047.py" => "4\354\243\274\354\260\250/11047\353\262\210.py" (100%) diff --git "a/4\354\243\274\354\260\250/11047.py" "b/4\354\243\274\354\260\250/11047\353\262\210.py" similarity index 100% rename from "4\354\243\274\354\260\250/11047.py" rename to "4\354\243\274\354\260\250/11047\353\262\210.py" From e58eee0aa6b2ad335dc619d24c4f63d447427695 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 21:49:46 +0900 Subject: [PATCH 17/98] =?UTF-8?q?Create=208=EC=A3=BC=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "5\354\243\274\354\260\250" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "5\354\243\274\354\260\250" diff --git "a/5\354\243\274\354\260\250" "b/5\354\243\274\354\260\250" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/5\354\243\274\354\260\250" @@ -0,0 +1 @@ + From 7726b2ab350add381a41834b898a278c57ded28e Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 21:50:18 +0900 Subject: [PATCH 18/98] =?UTF-8?q?Delete=205=EC=A3=BC=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "5\354\243\274\354\260\250" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "5\354\243\274\354\260\250" diff --git "a/5\354\243\274\354\260\250" "b/5\354\243\274\354\260\250" deleted file mode 100644 index 8b13789..0000000 --- "a/5\354\243\274\354\260\250" +++ /dev/null @@ -1 +0,0 @@ - From 43d92aa569643f63d403f28caa15c45e9981be37 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 21:52:24 +0900 Subject: [PATCH 19/98] Create README.md --- .../README.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" @@ -0,0 +1 @@ + From 51082206547ca09b13091a28f91aacba4c99cc95 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 21:53:17 +0900 Subject: [PATCH 20/98] Create README.md --- .../\353\257\274\352\270\260\355\231\215/README.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" new file mode 100644 index 0000000..67305d9 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" @@ -0,0 +1 @@ +테스트 용 From 19a534cec4d8a6d4fa241b7e83510e531bb31356 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 21:54:32 +0900 Subject: [PATCH 21/98] Create README.md --- .../\352\271\200\354\204\234\354\230\201/README.md" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" @@ -0,0 +1 @@ + From 3a83437dfca8a7da1e05ed8cbb936ff4b69760ed Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Tue, 23 Jan 2024 22:31:32 +0900 Subject: [PATCH 22/98] =?UTF-8?q?=EC=8A=A4=ED=84=B0=EB=94=94=20=ED=94=8C?= =?UTF-8?q?=EB=9E=AB=ED=8F=BC=20=EC=88=98=EC=A0=95=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" deleted file mode 100644 index 8b13789..0000000 --- "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" +++ /dev/null @@ -1 +0,0 @@ - From a3c74e1ff399dac5d90588c02a04712ea4281419 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Tue, 23 Jan 2024 22:33:49 +0900 Subject: [PATCH 23/98] =?UTF-8?q?=EA=B0=81=20=EC=9D=B4=EB=A6=84=20?= =?UTF-8?q?=ED=8F=B4=EB=8D=94=EC=97=90=20readme=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\354\204\234\353\217\231\355\230\201/README.md" | 1 + .../\354\240\225\354\232\260\355\230\204/README.md" | 1 + 2 files changed, 2 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" new file mode 100644 index 0000000..67305d9 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" @@ -0,0 +1 @@ +테스트 용 diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" new file mode 100644 index 0000000..67305d9 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" @@ -0,0 +1 @@ +테스트 용 From 9ba21e48cb5fe6a6234c4dd065862303533fd214 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Tue, 23 Jan 2024 22:46:27 +0900 Subject: [PATCH 24/98] =?UTF-8?q?7=EC=A3=BC=EC=B0=A8=20=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D=20=ED=8F=B4=EB=8D=94=20=EC=98=88=EC=8B=9C=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 1 + .../1012.py" | 40 ++++++++++++++++ .../2178.py" | 46 +++++++++++++++++++ .../2606.py" | 21 +++++++++ .../README.md" | 1 + .../README.md" | 1 + .../README.md" | 1 + 7 files changed, 111 insertions(+) create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" new file mode 100644 index 0000000..8b13789 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" @@ -0,0 +1 @@ + diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" new file mode 100644 index 0000000..f514c66 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" @@ -0,0 +1,40 @@ +T = int(input()) #테스트케이스의 개수 + +dx = [-1,1,0,0] +dy = [0,0,-1,1] + +def BFS(x,y): + queue = [(x,y)] + matrix[x][y] = 0 # 방문처리 + + while queue: + x,y = queue.pop(0) + + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + + if nx < 0 or nx >= M or ny < 0 or ny >= N: + continue + + if matrix[nx][ny] == 1 : + queue.append((nx,ny)) + matrix[nx][ny] = 0 + +# 행렬만들기 +for i in range(T): + M, N, K = map(int,input().split()) + matrix = [[0]*(N) for _ in range(M)] + cnt = 0 + + for j in range(K): + x,y = map(int, input().split()) + matrix[x][y] = 1 + + for a in range(M): + for b in range(N): + if matrix[a][b] == 1: + BFS(a,b) + cnt += 1 + + print(cnt) \ No newline at end of file diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" new file mode 100644 index 0000000..3d8c07b --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" @@ -0,0 +1,46 @@ +from collections import deque + +N, M = map(int, input().split()) + +graph = [] + +for _ in range(N): + graph.append(list(map(int, input()))) + + +# 너비 우선 탐색 +def bfs(x, y): + # 이동할 네 가지 방향 정의 (상, 하, 좌, 우) + dx = [-1, 1, 0, 0] + dy = [0, 0, -1, 1] + + # deque 생성 + queue = deque() + queue.append((x, y)) + + while queue: + x, y = queue.popleft() + + # 현재 위치에서 4가지 방향으로 위치 확인 + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + + # 위치가 벗어나면 안되기 때문에 조건 추가 + if nx < 0 or nx >= N or ny < 0 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/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" new file mode 100644 index 0000000..ae96e76 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" @@ -0,0 +1,21 @@ +computer = int(input()) #컴퓨터 개수 +linked = int(input()) # 연결된 개수 +graph = [[] for i in range(computer+1)] #그래프 초기화 +visited = [0]*(computer+1) # 방문처리 리스트 + +for i in range(linked): + node1,node2 = map(int, input().split()) + graph[node1] += [node2] # 각 노드 연결 + graph[node2] += [node1] + +# bfs +Q = [1] # 큐 생성 +visited[1] = 1 # 1번부터 시작 +while Q: + current = Q.pop() + for i in graph[current]: + if visited[i] == 0: + Q.append(i) + visited[i] = 1 + +print(sum(visited)-1) \ No newline at end of file diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" new file mode 100644 index 0000000..67305d9 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" @@ -0,0 +1 @@ +테스트 용 diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" new file mode 100644 index 0000000..67305d9 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" @@ -0,0 +1 @@ +테스트 용 diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" new file mode 100644 index 0000000..67305d9 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" @@ -0,0 +1 @@ +테스트 용 From 1a6058f35aeb8aecd484ae5387ca449d0ba2ec53 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 23:00:06 +0900 Subject: [PATCH 25/98] =?UTF-8?q?=EA=B0=81=20=EC=A3=BC=EC=B0=A8=EB=B3=84?= =?UTF-8?q?=20readme=EB=8A=94=20=ED=8C=80=EC=9E=A5=EC=9D=B8=20=EB=AF=BC?= =?UTF-8?q?=EA=B8=B0=ED=99=8D=EC=9D=B4=20=ED=95=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 표를 이용해 readme 꾸미기 해봄 --- .../README.md" | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" new file mode 100644 index 0000000..9da5951 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" @@ -0,0 +1,10 @@ +숙제 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|실버 1|2178번|미로 탐색|https://www.acmicpc.net/problem/2178| +|실버 3|2606번|바이러스|https://www.acmicpc.net/problem/2606| + +스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|실버 2|1012번|유기농 배추|https://www.acmicpc.net/problem/1012| From e4e8fb21e260b43eea678e0d06c937fec5cfdb9f Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Tue, 23 Jan 2024 23:02:31 +0900 Subject: [PATCH 26/98] =?UTF-8?q?=EB=AF=B8=EC=99=84=EC=84=B1=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 문제 선정 이후 바뀔 예정 --- .../README.md" | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" new file mode 100644 index 0000000..9da5951 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" @@ -0,0 +1,10 @@ +숙제 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|실버 1|2178번|미로 탐색|https://www.acmicpc.net/problem/2178| +|실버 3|2606번|바이러스|https://www.acmicpc.net/problem/2606| + +스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|실버 2|1012번|유기농 배추|https://www.acmicpc.net/problem/1012| From 16073c81c3f84ee2b40af40d5d7e3e667e451238 Mon Sep 17 00:00:00 2001 From: 01seoyoung Date: Wed, 24 Jan 2024 22:18:39 +0900 Subject: [PATCH 27/98] =?UTF-8?q?=EB=AF=BC=EA=B8=B0=ED=99=8D=201012?= =?UTF-8?q?=EB=B2=88=20=EB=AC=B8=EC=A0=9C=20=EA=B9=80=EC=84=9C=EC=98=81?= =?UTF-8?q?=ED=95=9C=ED=85=8C=20=EA=B0=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1012.py" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" new file mode 100644 index 0000000..f514c66 --- /dev/null +++ "b/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" @@ -0,0 +1,40 @@ +T = int(input()) #테스트케이스의 개수 + +dx = [-1,1,0,0] +dy = [0,0,-1,1] + +def BFS(x,y): + queue = [(x,y)] + matrix[x][y] = 0 # 방문처리 + + while queue: + x,y = queue.pop(0) + + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + + if nx < 0 or nx >= M or ny < 0 or ny >= N: + continue + + if matrix[nx][ny] == 1 : + queue.append((nx,ny)) + matrix[nx][ny] = 0 + +# 행렬만들기 +for i in range(T): + M, N, K = map(int,input().split()) + matrix = [[0]*(N) for _ in range(M)] + cnt = 0 + + for j in range(K): + x,y = map(int, input().split()) + matrix[x][y] = 1 + + for a in range(M): + for b in range(N): + if matrix[a][b] == 1: + BFS(a,b) + cnt += 1 + + print(cnt) \ No newline at end of file From 9950125cd4290cd4546e9c10546fcca2db4b5597 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Sun, 28 Jan 2024 17:57:53 +0900 Subject: [PATCH 28/98] =?UTF-8?q?Readme=EC=97=90=208=EC=A3=BC=EC=B0=A8=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" index 9da5951..04af1da 100644 --- "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" @@ -1,10 +1,11 @@ 숙제 |난이도|번호|제목|링크| -|-----|-----|----------|----------------------------------------| -|실버 1|2178번|미로 탐색|https://www.acmicpc.net/problem/2178| -|실버 3|2606번|바이러스|https://www.acmicpc.net/problem/2606| +|-----|-----|---------------------|----------------------------------------| +|실버 1|2667번|단지번호붙이기|https://www.acmicpc.net/problem/2667| +|실버 1|2583번|영역 구하기|https://www.acmicpc.net/problem/2583| +|실버 2|18352번|특정 거리의 도시 찾기|https://www.acmicpc.net/problem/18352| 스터디 진행 중 풀이 |난이도|번호|제목|링크| |-----|-----|----------|----------------------------------------| -|실버 2|1012번|유기농 배추|https://www.acmicpc.net/problem/1012| +|난이도|번호|제목|링크| From c0d4df8c2f1fcb48fb82a1ef85dc2dfa7a7a214a Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Sun, 28 Jan 2024 21:03:50 +0900 Subject: [PATCH 29/98] =?UTF-8?q?2667=EB=B2=88=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=EC=97=90=20=EB=8C=80=ED=95=9C=20=ED=92=80=EC=9D=B4=EA=B3=BC?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\257\274\352\270\260\355\231\215/README.md" | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" index 67305d9..3f03d76 100644 --- "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" @@ -1 +1,10 @@ -테스트 용 +image + + +**문제 2667번 (단지 번호 붙이기)** +풀이과정: +1. NxN 미로를 처음부터 검사 +2. 지나갈 수 있는(1로 되어 있는) 부분에서 bfs +3. 지나간 부분은 0으로 만들기 +4. 단지 수 세기 + From c0107700e6033ac5cc41d5a102daad581bf62d51 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Sun, 28 Jan 2024 21:11:26 +0900 Subject: [PATCH 30/98] =?UTF-8?q?2667=EB=B2=88=20=EC=BD=94=EB=93=9C=20push?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2667.py" | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" new file mode 100644 index 0000000..1b85ac8 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" @@ -0,0 +1,45 @@ +from collections import deque + +N = int(input()) +graph = [] # 미로를 저장할 리스트(visited 정보 저장) +house = [] # 각 단지내 집의 수 저장 +count = 0 # 총 단지 수 저장 + +for _ in range(N): + graph.append(list(map(int, input()))) + +dx = [1, -1, 0, 0] +dy = [0, 0, -1, 1] + +def bfs(x, y): + Q = deque() + Q.append((x, y)) + graph[x][y] = 0 # 현재 위치를 0으로 만듬 + cnt = 1 # 단지 수 + + while Q: + x, y = Q.popleft() + for _ in range(4): + nx = x + dx[_] + ny = y + dy[_] + if 0 <= nx < N and 0 <= ny < N: + if graph[nx][ny] == 1: + graph[nx][ny] = 0 + Q.append((nx, ny)) + cnt += 1 + return cnt + + +for i in range(N): + for j in range(N): + if graph[i][j] == 1: + house.append(bfs(i, j)) + count += 1 + + +# 출력 부분 +print(count) +house.sort() +for _ in range(count) : + print(house[_]) + From 318042277dd2c8a03005588100fda3713602b611 Mon Sep 17 00:00:00 2001 From: 01seoyoung Date: Sun, 28 Jan 2024 21:17:14 +0900 Subject: [PATCH 31/98] =?UTF-8?q?=EA=B9=80=EC=84=9C=EC=98=818=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8=20=EC=99=84=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11727\353\262\210.py" | 14 +++++++ .../18352\353\262\210.py" | 41 +++++++++++++++++++ .../2667\353\262\210.py" | 38 +++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" new file mode 100644 index 0000000..aed8271 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" @@ -0,0 +1,14 @@ +x = input() +y = input() +z = [] + +for i in range(len(x+y)-1): + z.append((int(x[(i+1)//2])+int(y[i//2]))%10) + +while len(z) != 2: + a = [] + for i in range(len(z)-1): + a.append((z[i]+z[i+1])%10) + z = a + +print(str(z[0])+str(z[1])) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" new file mode 100644 index 0000000..c1ddc52 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" @@ -0,0 +1,41 @@ +import sys +from collections import deque +input = sys.stdin.readline + +N, M, K, X = map(int, input().split()) +#0이 아니라 빈 리스트로 초기화되기 때문에, 각 도시에서 출발하는 도로의 목록을 담는 그래프를 나타내기 위한 초기화 +graph = [[] for _ in range(N + 1)] +#0으로 초기화된 리스트를 생성하되, 반복 변수가 필요하지 않다는 것을 나타내기 위해 _를 사용한 것 +visited = [0 for _ in range(N + 1)] + +for _ in range(M): + A, B = map(int, input().split()) + graph[A].append(B) + +result = [] + +def bfs(start): + queue = deque([start]) + visited[start] = 1 + + while queue: + current_city = queue.popleft() + #현재 도시까지의 거리가 k+1이라면(bfs 탐색의 k번째 단계에 도달했다면, 해당 도시를 결과 리스트에 추가 + if visited[current_city] == K + 1: + result.append(current_city) + continue + for neighbor in graph[current_city]: + #이웃 도시가 아직 방문되지 않았을 경우, 해당 도시 큐에 추가 + if visited[neighbor] == 0: + queue.append(neighbor) + visited[neighbor] = visited[current_city] + 1 + +#시작 도시 x에서부터 bfs탐색 +bfs(X) + +if len(result) == 0: + print(-1) +else: + result.sort() + for city in result: + print(city) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" new file mode 100644 index 0000000..89a1a33 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" @@ -0,0 +1,38 @@ +from collections import deque + +size = int(input()) +grid = [[int(x) for x in input()] for _ in range(size)] + +# 상하좌우 +dx = [0, 0, 1, -1] +dy = [1, -1, 0, 0] + +def bfs(start_x, start_y): + queue = deque() + queue.append((start_x, start_y)) + grid[start_x][start_y] = 0 + count = 1 + + while queue: + current_x, current_y = queue.popleft() + for i in range(4): + next_x = current_x + dx[i] + next_y = current_y + dy[i] + if next_x < 0 or next_x >= size or next_y < 0 or next_y >= size: + continue + if grid[next_x][next_y] == 1: + grid[next_x][next_y] = 0 + queue.append((next_x, next_y)) + count += 1 + return count + +component_sizes = [] +for i in range(size): + for j in range(size): + if grid[i][j] == 1: + component_sizes.append(bfs(i, j)) + +component_sizes.sort() +print(len(component_sizes)) +for size in component_sizes: + print(size) From f56d2d3a50d349a36abef2c53283d2e18f13ff20 Mon Sep 17 00:00:00 2001 From: 01seoyoung Date: Sun, 28 Jan 2024 21:29:25 +0900 Subject: [PATCH 32/98] =?UTF-8?q?=EA=B9=80=EC=84=9C=EC=98=818=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8=20=EC=99=84=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11727\353\262\210.py" | 14 ------- .../2583\353\262\210.py" | 39 +++++++++++++++++++ 2 files changed, 39 insertions(+), 14 deletions(-) delete mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" deleted file mode 100644 index aed8271..0000000 --- "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/11727\353\262\210.py" +++ /dev/null @@ -1,14 +0,0 @@ -x = input() -y = input() -z = [] - -for i in range(len(x+y)-1): - z.append((int(x[(i+1)//2])+int(y[i//2]))%10) - -while len(z) != 2: - a = [] - for i in range(len(z)-1): - a.append((z[i]+z[i+1])%10) - z = a - -print(str(z[0])+str(z[1])) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" new file mode 100644 index 0000000..9105589 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" @@ -0,0 +1,39 @@ +import sys +sys.setrecursionlimit(10**6) + +def explore(x, y): + visited[x][y] = 1 + region_size[0] += 1 + dx = [-1, 0, 0, 1] + dy = [0, 1, -1, 0] + + 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] == 0: + explore(nx, ny) + +region_size = [0] +N, M, K = map(int, sys.stdin.readline().split()) +visited = [[0] * M for _ in range(N)] + +for _ in range(K): + x1, y1, x2, y2 = map(int, sys.stdin.readline().split()) + for j in range(y1, y2): + for k in range(x1, x2): + visited[j][k] = 1 + +regions_count = 0 +regions_sizes = [] + +for i in range(N): + for j in range(M): + if visited[i][j] == 0: + explore(i, j) + regions_count += 1 + regions_sizes.append(region_size[0]) + region_size[0] = 0 + +regions_sizes.sort() + +print(regions_count) +print(*regions_sizes) From c5f2ab761d3be5a349881e052b833f7dc5088737 Mon Sep 17 00:00:00 2001 From: UHyeonj <128715793+UHyeonj@users.noreply.github.com> Date: Mon, 29 Jan 2024 00:21:31 +0900 Subject: [PATCH 33/98] =?UTF-8?q?=EC=A0=95=EC=9A=B0=ED=98=84(8=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 정우현(8주차) --- .../18352.py" | 37 +++++++++++++++++ .../2583.py" | 40 +++++++++++++++++++ .../2667.py" | 37 +++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" new file mode 100644 index 0000000..b1be2cf --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" @@ -0,0 +1,37 @@ +N,M,K,X = map(int,input().split()) +g = [[] for _ in range(N+1)] +#1번 도시 부터 있기 때문에 M+1을 해서 변수 그대로 사용한다. + +v = [[0] for _ in range(M+1)] +#방문을 확인한다. +a=[] + +for i in range(M): + x,y = map(int,input().split()) + g[x]+=[y] + #단방향이기 때문에 하나만 연결한다. + +def bfs(z): + q=[] + q.append((v,0)) + v[z] = 1 + while q: + now,n = q.pop(0) + if n == K: + a.append(now) + elif n > K: + return + for i in g[now]: + if v[i] == 0: + v[i] = 1 + q.append([i,n+1]) + + +bfs(X) +if not a: + print(-1) +else: + a.sort() + print(*a,sep = "\n") + + diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" new file mode 100644 index 0000000..7b5d2ae --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" @@ -0,0 +1,40 @@ +M,N,K = map(int,input().split()) +arr = [[1]*N for _ in range(M)] +#지정된 사각형 외의 영역을 측정하기 때문에 1로 다 채워준다. + +for i in range(K): + x,y,xx,yy = map(int,input().split()) + + for i in range(y,yy): + for j in range(x,xx): + arr[i][j] = 0 + +dx = [-1,1,0,0] +dy = [0,0,-1,1] + +a = [] +v = [[0]*N for _ in range(M)] +def bfs(x,y): + q = [] + q.append((x,y)) + v[x][y] = 1 + count = 1 + + while q: + x,y = q.pop(0) + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + if 0<=nx Date: Mon, 29 Jan 2024 00:40:24 +0900 Subject: [PATCH 34/98] Update README.md --- .../README.md" | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" index 67305d9..2231d5a 100644 --- "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" @@ -1 +1,27 @@ -테스트 용 +2667번 단지 번호 붙이기 +1. 집이 없는 곳은 0, 집이 있는 곳은 1이다. +N*N 크기의 0이 들어있는 배열을 만든다. +기본적인 bfs 방식에 count를 추가하여 방문한 집의 수를 기록한다. +v 배열은 방문한 곳인지 체크하기 위한 배열이다. +단지 하나당 미로 길 하나라고 생각을 하면 +길을 다 확인 했을 때의 count 값이 단지 내부에 있는 아파트의 개수이다. +-> 이를 결과를 넣는 배열에 넣어 정렬 후 출력해준다. + +2583번 영역 구하기 +주어진 직사각형을 제외한 나머지 분리된 영역을 구하는 것이기 때문에 +M*N의 배열을 1로 채워준다. 그 다음 직사각형의 내부에 있는 x,y 좌표 값들을 +0으로 바꾸어준다. 이는 미로에서 길이 아님을 의미한다. +2667번과 비슷하게 count를 사용하여 각 영역 내에 칸의 수를 구해준다. +for 문을 이용해서 M*N 배열 안에 있는 수 중 방문을 안 했고 배열의 값이 1인 좌표를 +bfs를 돌려준다. + +18352번 특정거리의 도시 찾기 +https://ji-gwang.tistory.com/456 +못풀어서 위 자료를 이용하여 풀었다. +bfs를 사용하여 풀었으며 좌표 대신 도시의 번호와 거리를 변수로 사용하였다. +처음 입력 받은 값은 출발 도시이기 때문에 거리를 0으로 해준다. +갈 수 있는 도시를 조사하고 거리를 1 더해주고 이동한 도시에서 +다른 도시로 갈 수 있는지 조사하는 것을 반복한다. +그러다 거리인 n 값이 K와 같아 지면 결과 배열인 a에 넣어준다. n이 K를 넘어가게 되면 +더 이상 확인할 필요가 없으므로 종료한다. +배열이 비었다면 -1을 출력하고 아니면 정렬 후 출력해준다. From 64e087a6b37fd60037f54becc8e254ac5563455d Mon Sep 17 00:00:00 2001 From: UHyeonj <128715793+UHyeonj@users.noreply.github.com> Date: Mon, 29 Jan 2024 00:40:40 +0900 Subject: [PATCH 35/98] Update README.md --- .../\354\240\225\354\232\260\355\230\204/README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" index 2231d5a..8a0dd92 100644 --- "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" @@ -1,5 +1,5 @@ 2667번 단지 번호 붙이기 -1. 집이 없는 곳은 0, 집이 있는 곳은 1이다. +집이 없는 곳은 0, 집이 있는 곳은 1이다. N*N 크기의 0이 들어있는 배열을 만든다. 기본적인 bfs 방식에 count를 추가하여 방문한 집의 수를 기록한다. v 배열은 방문한 곳인지 체크하기 위한 배열이다. From 6b970252da4297cee2db8d3e39924f7be0e5273e Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 29 Jan 2024 12:51:30 +0900 Subject: [PATCH 36/98] =?UTF-8?q?=EB=82=98=EB=A8=B8=EC=A7=80=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../18352.py" | 34 +++++++++++++++ .../2583.py" | 42 +++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" new file mode 100644 index 0000000..7025b00 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" @@ -0,0 +1,34 @@ +import heapq +import sys +f = sys.stdin.readline +INF = int(1e9) + +n, m, k, x = map(int, f().split()) +graph = [[] for _ in range(n+1)] +distance = [INF] * (n+1) + +for _ in range(m): + a, b = map(int, f().split()) + graph[a].append((b, 1)) + +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 j in graph[now]: + cost = dist + j[1] + if cost < distance[j[0]]: + distance[j[0]] = cost + heapq.heappush(q, (cost, j[0])) + +dijkstra(x) +answer = [] +for i in range(1, n+1): + if distance[i] == k: answer.append(i) + +if len(answer) == 0: print(-1) +else: + for i in answer: print(i, end='\n') \ No newline at end of file diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" new file mode 100644 index 0000000..7087ca3 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" @@ -0,0 +1,42 @@ +from collections import deque + +m, n, k = map(int, input().split()) +graph = [[0] * n for _ in range(m)] + +for _ in range(k): + x1, y1, x2, y2 = map(int, input().split()) + for i in range(x1, x2): + for j in range(m-y1-1, m-y2-1, -1): + graph[j][i] = 1 + +dx = [-1, 1, 0, 0] +dy = [0, 0, 1, -1] + +def bfs(x,y): + queue = deque() + queue.append((x, y)) + graph[x][y] = 1 + size = 1 + while queue: + x, y = queue.popleft() + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + if 0 <= nx < m and 0 <= ny < n: + if graph[nx][ny] == 0: + graph[nx][ny] = 1 + queue.append((nx, ny)) + size += 1 + result.append(size) + + +result = [] +for i in range(m): + for j in range(n): + if graph[i][j] == 0: + bfs(i, j) + +result.sort() +print(len(result)) +for i in result: + print(i, end=' ') \ No newline at end of file From fe95f19788d2578e06cc39e986f319a13d7e51cd Mon Sep 17 00:00:00 2001 From: weeast1521 Date: Mon, 29 Jan 2024 13:25:55 +0900 Subject: [PATCH 37/98] abc --- .../\354\204\234\353\217\231\355\230\201/abc.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" new file mode 100644 index 0000000..e69de29 From 0eae643e604e0ef58626a46e89d03cbfca378239 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Thu, 1 Feb 2024 00:33:25 +0900 Subject: [PATCH 38/98] Create week 9 --- .../README.md" | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" new file mode 100644 index 0000000..04af1da --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" @@ -0,0 +1,11 @@ +숙제 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|실버 1|2667번|단지번호붙이기|https://www.acmicpc.net/problem/2667| +|실버 1|2583번|영역 구하기|https://www.acmicpc.net/problem/2583| +|실버 2|18352번|특정 거리의 도시 찾기|https://www.acmicpc.net/problem/18352| + +스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|난이도|번호|제목|링크| From 779d9a1fb9cda2aaed4ac164cf1ebaa4258e0ced Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Thu, 1 Feb 2024 00:34:39 +0900 Subject: [PATCH 39/98] =?UTF-8?q?=EC=9E=84=EC=8B=9C=20=ED=85=9C=ED=94=8C?= =?UTF-8?q?=EB=A6=BF=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 "0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" diff --git "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" new file mode 100644 index 0000000..04af1da --- /dev/null +++ "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" @@ -0,0 +1,11 @@ +숙제 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|실버 1|2667번|단지번호붙이기|https://www.acmicpc.net/problem/2667| +|실버 1|2583번|영역 구하기|https://www.acmicpc.net/problem/2583| +|실버 2|18352번|특정 거리의 도시 찾기|https://www.acmicpc.net/problem/18352| + +스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|난이도|번호|제목|링크| From 2982e15b184db5a147741dd0521e773a47cd9e21 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 1 Feb 2024 00:36:18 +0900 Subject: [PATCH 40/98] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 임시 readme 수정 --- .../README.md" | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" index 04af1da..0edadcb 100644 --- "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" +++ "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" @@ -1,9 +1,8 @@ 숙제 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|실버 1|2667번|단지번호붙이기|https://www.acmicpc.net/problem/2667| -|실버 1|2583번|영역 구하기|https://www.acmicpc.net/problem/2583| -|실버 2|18352번|특정 거리의 도시 찾기|https://www.acmicpc.net/problem/18352| +||번||https://www.acmicpc.net/problem/| +||번||https://www.acmicpc.net/problem/| 스터디 진행 중 풀이 |난이도|번호|제목|링크| From 46b4d89f72d3737db7c4302448df94a86820439a Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 1 Feb 2024 00:52:45 +0900 Subject: [PATCH 41/98] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8=20readme=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" index 04af1da..f71b843 100644 --- "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" @@ -1,11 +1,39 @@ -숙제 +## 숙제 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|실버 1|2667번|단지번호붙이기|https://www.acmicpc.net/problem/2667| -|실버 1|2583번|영역 구하기|https://www.acmicpc.net/problem/2583| -|실버 2|18352번|특정 거리의 도시 찾기|https://www.acmicpc.net/problem/18352| +|실버 1|11052번|카드 구매하기|https://www.acmicpc.net/problem/11052| +|골드 5|15686번|치킨 배달|https://www.acmicpc.net/problem/15686| -스터디 진행 중 풀이 +## 스터디 진행 중 풀이 |난이도|번호|제목|링크| -|-----|-----|----------|----------------------------------------| +|-----|-----|---------------------|----------------------------------------| +|골드 5|5972번|택배배송|https://www.acmicpc.net/problem/5972| + +## 찾아온 문제들 +#### 민기홍 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|3190번|뱀|https://www.acmicpc.net/problem/3190| +|골드 5|15686번|치킨 배달|https://www.acmicpc.net/problem/15686| + +#### 김서영 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 1|13460번|구슬 탈출2|https://www.acmicpc.net/problem/13460| +|실버 1|2468번|안전 영역|https://www.acmicpc.net/problem/2648| +|골드 2|1513번|경로 찾기|https://www.acmicpc.net/problem/1513| +|골드 4|1043번|거짓말|https://www.acmicpc.net/problem/1043| +|실드 2|11048번|이동하기|https://www.acmicpc.net/problem/11048| + +#### 정우현 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 3|16236번|아기상어|https://www.acmicpc.net/problem/16236| +|골드 4|14226번|이모티콘|https://www.acmicpc.net/problem/14226| +|골드 3|16724번|피리부는사나이|https://www.acmicpc.net/problem/16724| + +#### 서동혁 |난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|1963번|소수 경로|https://www.acmicpc.net/problem/1963| +|실버 1|1325번|효율적인 해킹|https://www.acmicpc.net/problem/1325| From 9d38fbe9ee469c7f0a760b46d386a633a6068058 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 1 Feb 2024 00:56:14 +0900 Subject: [PATCH 42/98] =?UTF-8?q?0=EC=A3=BC=EC=B0=A8=20=ED=85=9C=ED=94=8C?= =?UTF-8?q?=EB=A6=BF=20README.md=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" index 0edadcb..097f0bc 100644 --- "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" +++ "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" @@ -1,10 +1,37 @@ -숙제 +## 숙제 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| ||번||https://www.acmicpc.net/problem/| ||번||https://www.acmicpc.net/problem/| -스터디 진행 중 풀이 +## 스터디 진행 중 풀이 |난이도|번호|제목|링크| |-----|-----|----------|----------------------------------------| |난이도|번호|제목|링크| +|골드 4|번||https://www.acmicpc.net/problem/| + + +## 찾아온 문제들 +#### 민기홍 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 김서영 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 정우현 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 서동혁 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| From f683fd4bdf96340f432f021e1a6b0199e5a98e18 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 1 Feb 2024 00:58:26 +0900 Subject: [PATCH 43/98] =?UTF-8?q?=EB=A7=88=ED=81=AC=EB=8B=A4=EC=9A=B4=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EB=B2=95=20=EB=A7=81=ED=81=AC=20README.md=20?= =?UTF-8?q?update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 1 + 1 file changed, 1 insertion(+) diff --git "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" index 097f0bc..8ca6a57 100644 --- "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" +++ "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" @@ -1,3 +1,4 @@ +> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 ## 숙제 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| From f6981c8e9c544947428df88bd6edcafff2e83977 Mon Sep 17 00:00:00 2001 From: 01seoyoung Date: Sat, 3 Feb 2024 19:35:35 +0900 Subject: [PATCH 44/98] =?UTF-8?q?=EA=B9=80=EC=84=9C=EC=98=819=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8=20=EC=99=84=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11052 \353\262\210.py" | 13 ++++ .../15686\353\262\210.py" | 60 +++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" new file mode 100644 index 0000000..3acf5ce --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" @@ -0,0 +1,13 @@ +import sys + +num_items = int(sys.stdin.readline()) +item_prices = [0] +item_prices += list(map(int, sys.stdin.readline().split())) + +for idx in range(1, num_items + 1): + temp = [] + for t in range(idx // 2 + 1): + temp.append(item_prices[t] + item_prices[idx - t]) + item_prices[idx] = max(temp) + +sys.stdout.write(str(item_prices[num_items])) diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" new file mode 100644 index 0000000..9af6e51 --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" @@ -0,0 +1,60 @@ +import sys +input_reader = sys.stdin.readline + +N, M = map(int, input_reader().split()) +grid = [] +coordinates_of_2 = [] +coordinates_of_1 = [] + +for y in range(N): + line = list(map(int, input_reader().split())) + if 2 in line: + for x in range(len(line)): + if line[x] == 2: + coordinates_of_2.append((y, x)) + if 1 in line: + for x in range(len(line)): + if line[x] == 1: + coordinates_of_1.append((y, x)) + grid.append(line) + +min_distance = sys.maxsize +selected_coordinates = [] +count_of_2 = len(coordinates_of_2) + + +def remove_2(start: int): + condition = count_of_2 - len(selected_coordinates) + if M == condition: + calculate_distance(selected_coordinates) + + + for i in range(start, len(coordinates_of_2)): + (y, x) = coordinates_of_2[i] + if (y, x) not in selected_coordinates: + selected_coordinates.append((y, x)) + remove_2(i + 1) + selected_coordinates.pop() + + +def calculate_distance(selected_coordinates: list): + global min_distance + distance = {} + + for fr in coordinates_of_2: + if fr in selected_coordinates: + continue + for to in coordinates_of_1: + if to not in distance.keys(): + distance[to] = sys.maxsize + distance[to] = min(distance[to], abs(fr[0] - to[0]) + abs(fr[1] - to[1])) + + sum_of_distances = 0 + for i in distance.keys(): + sum_of_distances += distance[i] + + min_distance = min(min_distance, sum_of_distances) + + +remove_2(0) +print(min_distance) From 2f67394566fbdabb93120bc35ff383fcad34b3c5 Mon Sep 17 00:00:00 2001 From: weeast1521 Date: Sun, 4 Feb 2024 22:17:25 +0900 Subject: [PATCH 45/98] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../18352.py" | 39 +++++++++++++++++ .../2583.py" | 42 +++++++++++++++++++ .../2667.py" | 38 +++++++++++++++++ .../11052.py" | 11 +++++ .../15686.py" | 30 +++++++++++++ 5 files changed, 160 insertions(+) create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" create mode 100644 "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" new file mode 100644 index 0000000..60ccdd6 --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" @@ -0,0 +1,39 @@ +import sys, heapq +input = sys.stdin.readline +INF = float('inf') + + +def dijkstra(start): + q = [] + heapq.heappush(q, (0, start)) + distance[start] = 0 + + while q: + dist, now = heapq.heappop(q) + if dist > distance[now]: + 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])) + + +n, m, k, start = map(int, input().split()) +graph = [[] for _ in range(n+1)] +distance = [INF] * (n+1) + +for _ in range(m): + a, b = map(int, input().split()) + graph[a].append((b, 1)) + +dijkstra(start) + +isNone = 1 +for i in range(1, n+1): + if distance[i] == k: + isNone = 0 + print(i) + +if isNone: + print(-1) \ No newline at end of file diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" new file mode 100644 index 0000000..f4440dd --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" @@ -0,0 +1,42 @@ +import sys +sys.setrecursionlimit(10**6) + +M, N, K = map(int, input().split()) + +graph = [] +result = [] +count = 0 +my_map = [[1]*(M) for i in range(N)] + +for i in range(K): + graph.append(list(map(int,input().split()))) +dx = [0,0,1,-1] +dy = [1,-1,0,0] + +for i in range(K): + for j in range(graph[i][0], graph[i][2]): + for k in range(graph[i][1], graph[i][3]): + my_map[j][k] = 0 + +def dfs(x,y): + global count + + if x<0 or y<0 or x>=N or y>=M: + return + if my_map[x][y] == 1: + count = count + 1 + my_map[x][y] = 0 + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + dfs(nx,ny) +for i in range(N): + for j in range(M): + if my_map[i][j] == 1: + dfs(i,j) + result.append(count) + count = 0 +result.sort() +print(len(result)) +for i in result: + print(i, end=" ") \ No newline at end of file diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" new file mode 100644 index 0000000..64f530e --- /dev/null +++ "b/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" @@ -0,0 +1,38 @@ +from collections import deque + +N = int(input()) + +graph = [] +result = [] +count = 0 + +for i in range(N): + graph.append(list(map(int, input()))) +dx = [0,0,1,-1] +dy = [1,-1,0,0] + +def dfs(x,y): + global count + #정사각형 지도 밖으로 나갈 경우 + if x<0 or x>=N or y<0 or y>=N: + return + #방문한적이 없는 집들의 경우 + if graph[x][y] == 1: + count = count + 1 + graph[x][y] = 0 #방문처리 + for i in range(4): + nx = x + dx[i] + ny = y + dy[i] + dfs(nx,ny) + +for i in range(N): + for j in range(N): + if graph[i][j] == 1: + dfs(i,j) + result.append(count) + count = 0 + +result.sort() +print(len(result)) +for i in result: + print(i) \ No newline at end of file diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" new file mode 100644 index 0000000..57de3cd --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" @@ -0,0 +1,11 @@ +N = int(input()) +value = list(map(int, input().split())) +value.insert(0,0) + +dp = value +for i in range(1, N): + for j in range(1,i+1): + if dp[i+1] <= value[j] + dp[i+1-j]: + dp[i+1] = value[j] + dp[i+1-j] + +print(dp[N]) \ No newline at end of file diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" new file mode 100644 index 0000000..5f42924 --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" @@ -0,0 +1,30 @@ +import sys +from itertools import combinations + +input = sys.stdin.readline + +n, m = map(int, input().split()) +city = list(list(map(int, input().split())) for _ in range(n)) +result = 999999 +house = [] # 집의 좌표 +chick = [] # 치킨집의 좌표 + +for i in range(n): + for j in range(n): + if city[i][j] == 1: + house.append([i, j]) + elif city[i][j] == 2: + chick.append([i, j]) + +for chi in combinations(chick, m): # m개의 치킨집 선택 + temp = 0 # 도시의 치킨 거리 + for h in house: + chi_len = 999 # 각 집마다 치킨 거리 + for j in range(m): + chi_len = min(chi_len, abs(h[0] - chi[j][0]) + abs(h[1] - chi[j][1])) + temp += chi_len + result = min(result, temp) + +print(result) + +#https://codesyun.tistory.com/185 조합을 사용한듯 어떻게 한건지 같이 봐보자 \ No newline at end of file From 05890450d0c602addbaa56ab586733ed3029936a Mon Sep 17 00:00:00 2001 From: UHyeonj <128715793+UHyeonj@users.noreply.github.com> Date: Mon, 5 Feb 2024 07:45:30 +0900 Subject: [PATCH 46/98] =?UTF-8?q?=EC=A0=95=EC=9A=B0=ED=98=84=209=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 정우현 9주차 --- .../11052.py" | 11 ++++++++ .../15686.py" | 26 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" new file mode 100644 index 0000000..feb1948 --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" @@ -0,0 +1,11 @@ +N = int(input()) +a = list(map(int,input().split())) +a.insert(0,0) +dp = [0 for _ in range(N+1)] + +for i in range(1,N+1): + for j in range(1,N+1): + if j-i>=0: + dp[j] = max(dp[j],a[i]+dp[j-i]) + +print(dp[N]) diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" new file mode 100644 index 0000000..9ea906b --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" @@ -0,0 +1,26 @@ +from itertools import combinations + +N, M = map(int, input().split()) +arr = [list(map(int, input().split())) for _ in range(N)] + +chicken = [] +home = [] +result = float('inf') # 결과값을 무한대로 초기화 초기 값을 설정하기 위해 + +for i in range(N): + for j in range(N): + if arr[i][j] == 1: + home.append((i, j)) + if arr[i][j] == 2: + chicken.append((i, j)) + +for comb in combinations(chicken, M): # 조합 생성 + temp = 0 + for j in home: + c_len = float('inf') # c_len을 무한대로 초기화 초기 값을 설정하기 위해 + for k in range(M): + c_len = min(c_len, abs(j[0] - comb[k][0]) + abs(j[1] - comb[k][1])) + temp += c_len + result = min(result, temp) + +print(result) From 6284c5c80736b1344d26828815050bc173e9dbf5 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 5 Feb 2024 12:29:26 +0900 Subject: [PATCH 47/98] =?UTF-8?q?11052=EB=B2=88=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\257\274\352\270\260\355\231\215/11052.py" | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" new file mode 100644 index 0000000..77ce5ac --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" @@ -0,0 +1,10 @@ +N = int(input()) +P = [0] + list(map(int, input().split())) +value = [0 for _ in range(N+1)] + +for i in range(1, N+1): + for j in range(1, i+1): + value[i] = max(value[i], value[i-j] + P[j]) + +print(value[N]) + From eb26e16bb5a5ad8c53a9ef7b72cb3ffb36e51e40 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 5 Feb 2024 14:27:07 +0900 Subject: [PATCH 48/98] Update README.md --- .../README.md" | 3 +++ 1 file changed, 3 insertions(+) diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" index f71b843..6a844c9 100644 --- "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" @@ -4,6 +4,9 @@ |실버 1|11052번|카드 구매하기|https://www.acmicpc.net/problem/11052| |골드 5|15686번|치킨 배달|https://www.acmicpc.net/problem/15686| +> ## 이번 스터디 핵심! +> 백트래킹 vs 콤비네이션 + ## 스터디 진행 중 풀이 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| From 00fbe75901c10bdaeac3fd0ce3b80e2961b5aaa0 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 5 Feb 2024 14:49:54 +0900 Subject: [PATCH 49/98] Update README.md --- .../README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" index 8ca6a57..4659b82 100644 --- "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" +++ "b/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" @@ -1,7 +1,7 @@ > 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 ## 숙제 |난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| +|-|-|-|-| ||번||https://www.acmicpc.net/problem/| ||번||https://www.acmicpc.net/problem/| From a139186847dd1d523e6d5aa5dcd743f26a035896 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 5 Feb 2024 14:59:40 +0900 Subject: [PATCH 50/98] =?UTF-8?q?=EC=95=88=EC=A0=84=EC=98=81=EC=97=AD=20?= =?UTF-8?q?=EB=A7=81=ED=81=AC=20=EC=98=A4=ED=83=80=20=EC=88=98=EC=A0=95[?= =?UTF-8?q?=EB=AF=BC=EA=B8=B0=ED=99=8D]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" index 6a844c9..62ab234 100644 --- "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" @@ -23,7 +23,7 @@ |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| |골드 1|13460번|구슬 탈출2|https://www.acmicpc.net/problem/13460| -|실버 1|2468번|안전 영역|https://www.acmicpc.net/problem/2648| +|실버 1|2468번|안전 영역|https://www.acmicpc.net/problem/2468| |골드 2|1513번|경로 찾기|https://www.acmicpc.net/problem/1513| |골드 4|1043번|거짓말|https://www.acmicpc.net/problem/1043| |실드 2|11048번|이동하기|https://www.acmicpc.net/problem/11048| From 74e8c50ea5c2ecb8b54dbe5e9eacf68ea019fb99 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 5 Feb 2024 23:22:52 +0900 Subject: [PATCH 51/98] =?UTF-8?q?9=EC=A3=BC=EC=B0=A8=20=EC=A0=95=EB=A6=AC?= =?UTF-8?q?=20(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 9주차 스터디 진행 중 서로 얘기하며 합의봤던 부분 정리 --- .../README.md" | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" index 62ab234..cbe80a6 100644 --- "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" @@ -1,27 +1,35 @@ +> # 스터디 회의: +> 1. 앞으로 찾은 문제는 직접 해당 주차의 readme에 작성하기 +> 2. readme 쓰는 방법은 0주차 readme의 링크로 보기(구글에 readme 고치기만 쳐도 나오긴 함) +> 3. 담주 간략하게 "치킨 배달" 백트레킹을 이용한 방법 얘기하기 +> 4. 오늘 스터디 때 풀었던 "평범한 배낭"(12865번) 9주차에 올리기 + ## 숙제 |난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| +|-|-|-|-| |실버 1|11052번|카드 구매하기|https://www.acmicpc.net/problem/11052| |골드 5|15686번|치킨 배달|https://www.acmicpc.net/problem/15686| > ## 이번 스터디 핵심! -> 백트래킹 vs 콤비네이션 +> 15686번 치킨 배달 : +> 백트래킹 vs 콤비네이션 -> 콤비네이션 내장 함수를 이용하는게 시간복잡도와 코드 복잡도 부분에서 더 이득이었다! ## 스터디 진행 중 풀이 |난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|골드 5|5972번|택배배송|https://www.acmicpc.net/problem/5972| +|-|-|-|-| +|골드 5|12865번|평범한 배낭|https://www.acmicpc.net/problem/12865| +#### -> 각자 담주까지 풀어오기 ## 찾아온 문제들 #### 민기홍 |난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| +|-|-|-|-| |골드 4|3190번|뱀|https://www.acmicpc.net/problem/3190| |골드 5|15686번|치킨 배달|https://www.acmicpc.net/problem/15686| #### 김서영 |난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| +|-|-|-|-| |골드 1|13460번|구슬 탈출2|https://www.acmicpc.net/problem/13460| |실버 1|2468번|안전 영역|https://www.acmicpc.net/problem/2468| |골드 2|1513번|경로 찾기|https://www.acmicpc.net/problem/1513| @@ -30,7 +38,7 @@ #### 정우현 |난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| +|-|-|-|-| |골드 3|16236번|아기상어|https://www.acmicpc.net/problem/16236| |골드 4|14226번|이모티콘|https://www.acmicpc.net/problem/14226| |골드 3|16724번|피리부는사나이|https://www.acmicpc.net/problem/16724| From 8c0700a809de97a8053b23d76b3eee5a2f3ef9b7 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 5 Feb 2024 23:30:45 +0900 Subject: [PATCH 52/98] =?UTF-8?q?10=EC=A3=BC=EC=B0=A8=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=20(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "10\354\243\274\354\260\250/README.md" | 38 +++++++++++++++++++ .../12865.py" | 20 ++++++++++ 2 files changed, 58 insertions(+) create mode 100644 "10\354\243\274\354\260\250/README.md" create mode 100644 "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" diff --git "a/10\354\243\274\354\260\250/README.md" "b/10\354\243\274\354\260\250/README.md" new file mode 100644 index 0000000..4659b82 --- /dev/null +++ "b/10\354\243\274\354\260\250/README.md" @@ -0,0 +1,38 @@ +> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 +## 숙제 +|난이도|번호|제목|링크| +|-|-|-|-| +||번||https://www.acmicpc.net/problem/| +||번||https://www.acmicpc.net/problem/| + +## 스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|난이도|번호|제목|링크| +|골드 4|번||https://www.acmicpc.net/problem/| + + +## 찾아온 문제들 +#### 민기홍 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 김서영 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 정우현 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 서동혁 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" new file mode 100644 index 0000000..4279b7b --- /dev/null +++ "b/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" @@ -0,0 +1,20 @@ +N, K = map(int, input().split()) +WV = [[0 for _ in range(2)] for i in range(N)] # 무게 +result = [0 for _ in range(N)] +max_result = 0 + + +for i in range(N): + WV[i][0], WV[i][1] = map(int, input().split()) +# +# WV.sort() + +# dp +for i in range(N, 0, -1): + limit = K + for j in range(i, 0, -1): + if WV[j-1][0] <= limit : + limit -= WV[j-1][0] + result[i-1] += WV[j-1][1] + +print(result) \ No newline at end of file From 9556dc5598577bf8f0598906f00466613432ec8d Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 5 Feb 2024 23:33:31 +0900 Subject: [PATCH 53/98] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=88=9C=EC=84=9C?= =?UTF-8?q?=20=EC=A0=95=EB=A6=AC(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 0 .../README.md" | 0 .../2750.py" | 54 ++++++------- .../2751.py" | 78 +++++++++---------- .../README.md" | 0 .../1920\353\262\210.py" | 60 +++++++------- .../2110\353\262\210.py" | 76 +++++++++--------- .../1260\353\262\210.py" | 0 .../11047\353\262\210.py" | 0 .../2875\353\262\210.py" | 0 .../README.md" | 0 .../1012.py" | 0 .../README.md" | 0 .../1012.py" | 0 .../2178.py" | 0 .../2606.py" | 0 .../README.md" | 0 .../README.md" | 0 .../README.md" | 0 .../README.md" | 0 .../18352\353\262\210.py" | 0 .../2583\353\262\210.py" | 0 .../2667\353\262\210.py" | 0 .../README.md" | 0 .../18352.py" | 0 .../2583.py" | 0 .../2667.py" | 0 .../README.md" | 0 .../18352.py" | 0 .../2583.py" | 0 .../2667.py" | 0 .../README.md" | 0 .../abc.txt" | 0 .../18352.py" | 0 .../2583.py" | 0 .../2667.py" | 0 .../README.md" | 0 .../README.md" | 0 .../11052 \353\262\210.py" | 0 .../15686\353\262\210.py" | 0 .../11052.py" | 0 .../12865.py" | 0 .../11052.py" | 0 .../15686.py" | 0 .../11052.py" | 0 .../15686.py" | 0 46 files changed, 134 insertions(+), 134 deletions(-) rename "0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" => "0 \354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" (100%) rename "1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" => "1 \354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" (100%) rename "1\354\243\274\354\260\250/2750.py" => "1 \354\243\274\354\260\250/2750.py" (96%) rename "1\354\243\274\354\260\250/2751.py" => "1 \354\243\274\354\260\250/2751.py" (96%) rename "10\354\243\274\354\260\250/README.md" => "10 \354\243\274\354\260\250/README.md" (100%) rename "2\354\243\274\354\260\250/1920\353\262\210.py" => "2 \354\243\274\354\260\250/1920\353\262\210.py" (97%) rename "2\354\243\274\354\260\250/2110\353\262\210.py" => "2 \354\243\274\354\260\250/2110\353\262\210.py" (97%) rename "3\354\243\274\354\260\250/1260\353\262\210.py" => "3 \354\243\274\354\260\250/1260\353\262\210.py" (100%) rename "4\354\243\274\354\260\250/11047\353\262\210.py" => "4 \354\243\274\354\260\250/11047\353\262\210.py" (100%) rename "4\354\243\274\354\260\250/2875\353\262\210.py" => "4 \354\243\274\354\260\250/2875\353\262\210.py" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" (100%) rename "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" => "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" (100%) rename "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" => "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" (100%) rename "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" => "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" (100%) diff --git "a/0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/0 \354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" similarity index 100% rename from "0\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" rename to "0 \354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" diff --git "a/1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" "b/1 \354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" similarity index 100% rename from "1\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" rename to "1 \354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" diff --git "a/1\354\243\274\354\260\250/2750.py" "b/1 \354\243\274\354\260\250/2750.py" similarity index 96% rename from "1\354\243\274\354\260\250/2750.py" rename to "1 \354\243\274\354\260\250/2750.py" index 0f0bcc7..4c2be30 100644 --- "a/1\354\243\274\354\260\250/2750.py" +++ "b/1 \354\243\274\354\260\250/2750.py" @@ -1,27 +1,27 @@ -# O(N^2)의 시간복잡도를 하기 위해 선택정렬 코드 - -# A개의 정수를 입력 -A = int(input()) - -# 입력된 정수를 저장할 빈 리스트 A_list를 초기화시키기 -A_list = [] - -# A번 반복하여 정수를 사용자로부터 입력받고 A_list 리스트에 저장 -for i in range(A): - num = int(input()) - A_list.append(num) - -# 선택 정렬을 이용하여 리스트를 정렬 -for i in range(A): - # 현재 위치부터 나머지 원소 중에서 최솟값의 인덱스 찾기 - min_index = i - for j in range(i + 1, A): - if A_list[j] < A_list[min_index]: - min_index = j - - # 현재 위치의 원소와 최솟값의 원소를 교환 - A_list[i], A_list[min_index] = A_list[min_index], A_list[i] - -# 정렬된 리스트를 출력 -for i in A_list: - print(i) +# O(N^2)의 시간복잡도를 하기 위해 선택정렬 코드 + +# A개의 정수를 입력 +A = int(input()) + +# 입력된 정수를 저장할 빈 리스트 A_list를 초기화시키기 +A_list = [] + +# A번 반복하여 정수를 사용자로부터 입력받고 A_list 리스트에 저장 +for i in range(A): + num = int(input()) + A_list.append(num) + +# 선택 정렬을 이용하여 리스트를 정렬 +for i in range(A): + # 현재 위치부터 나머지 원소 중에서 최솟값의 인덱스 찾기 + min_index = i + for j in range(i + 1, A): + if A_list[j] < A_list[min_index]: + min_index = j + + # 현재 위치의 원소와 최솟값의 원소를 교환 + A_list[i], A_list[min_index] = A_list[min_index], A_list[i] + +# 정렬된 리스트를 출력 +for i in A_list: + print(i) diff --git "a/1\354\243\274\354\260\250/2751.py" "b/1 \354\243\274\354\260\250/2751.py" similarity index 96% rename from "1\354\243\274\354\260\250/2751.py" rename to "1 \354\243\274\354\260\250/2751.py" index 243790d..1624ac5 100644 --- "a/1\354\243\274\354\260\250/2751.py" +++ "b/1 \354\243\274\354\260\250/2751.py" @@ -1,39 +1,39 @@ -# O(n log n)의 시간 복잡도를 위해 quick_sort 함수 사용 -def quick_sort(arr): - if len(arr) <= 1: - return arr - - # 피벗 원소를 선택 - pivot = arr[len(arr) // 2] - - # 피벗보다 작은 원소들 (왼쪽) - left = [x for x in arr if x < pivot] - - # 피벗과 같은 원소들 (가운데) - middle = [x for x in arr if x == pivot] - - # 피벗보다 큰 원소들 (오른쪽) - right = [x for x in arr if x > pivot] - - return quick_sort(left) + middle + quick_sort(right) - -# 사용자로부터 요소의 개수인 A를 입력받기 -A = int(input()) - -# 사용자 입력을 저장할 빈 리스트를 초기화 -A_list = [] - - -# A개의 정수를 사용자로부터 입력받고 A_list에 저장 -for i in range(A): - num = int(input()) - A_list.append(num) - -# quick_sort 함수를 사용하여 리스트를 정렬 -A_list = quick_sort(A_list) - -# 정렬된 리스트 출력 -for i in A_list: - print(i) - - +# O(n log n)의 시간 복잡도를 위해 quick_sort 함수 사용 +def quick_sort(arr): + if len(arr) <= 1: + return arr + + # 피벗 원소를 선택 + pivot = arr[len(arr) // 2] + + # 피벗보다 작은 원소들 (왼쪽) + left = [x for x in arr if x < pivot] + + # 피벗과 같은 원소들 (가운데) + middle = [x for x in arr if x == pivot] + + # 피벗보다 큰 원소들 (오른쪽) + right = [x for x in arr if x > pivot] + + return quick_sort(left) + middle + quick_sort(right) + +# 사용자로부터 요소의 개수인 A를 입력받기 +A = int(input()) + +# 사용자 입력을 저장할 빈 리스트를 초기화 +A_list = [] + + +# A개의 정수를 사용자로부터 입력받고 A_list에 저장 +for i in range(A): + num = int(input()) + A_list.append(num) + +# quick_sort 함수를 사용하여 리스트를 정렬 +A_list = quick_sort(A_list) + +# 정렬된 리스트 출력 +for i in A_list: + print(i) + + diff --git "a/10\354\243\274\354\260\250/README.md" "b/10 \354\243\274\354\260\250/README.md" similarity index 100% rename from "10\354\243\274\354\260\250/README.md" rename to "10 \354\243\274\354\260\250/README.md" diff --git "a/2\354\243\274\354\260\250/1920\353\262\210.py" "b/2 \354\243\274\354\260\250/1920\353\262\210.py" similarity index 97% rename from "2\354\243\274\354\260\250/1920\353\262\210.py" rename to "2 \354\243\274\354\260\250/1920\353\262\210.py" index 30f49f8..6c131f4 100644 --- "a/2\354\243\274\354\260\250/1920\353\262\210.py" +++ "b/2 \354\243\274\354\260\250/1920\353\262\210.py" @@ -1,30 +1,30 @@ -def binary_search(array, elem): - #left, right 값 초기화 - left, right = 0, len(array) - 1 - - #왼쪽 인덱스가 오른쪽 인덱스보다 작거나 같을 동안 반복 - while left <= right: - mid = (left + right) // 2 - #중간 값이 찾고자 하는 값과 같다면, 1 반환하고 종료 - if array[mid] == elem: - return 1 - #만약 중간 값이 찾는 값보다 작다면, 왼쪽 범위를 중간 값의 오른쪽으로 1씩 조정 - elif array[mid] < elem: - left = mid + 1 - #중간 값이 찾고자 하는 값보다 크다면, 오른쪽 범위를 중간 값의 왼쪽으로 1씩 조정 - else: - right = mid - 1 - return 0 - -#입력으로부터 정수 n 받기 -n = int(input()) -a_list = list(map(int, input().split())) -#입력으로부터 정수 m 받기 -m = int(input()) -x_list = list(map(int, input().split())) - -#리스트 정렬 -a_list.sort() - -for x in x_list: - print(binary_search(a_list, x)) +def binary_search(array, elem): + #left, right 값 초기화 + left, right = 0, len(array) - 1 + + #왼쪽 인덱스가 오른쪽 인덱스보다 작거나 같을 동안 반복 + while left <= right: + mid = (left + right) // 2 + #중간 값이 찾고자 하는 값과 같다면, 1 반환하고 종료 + if array[mid] == elem: + return 1 + #만약 중간 값이 찾는 값보다 작다면, 왼쪽 범위를 중간 값의 오른쪽으로 1씩 조정 + elif array[mid] < elem: + left = mid + 1 + #중간 값이 찾고자 하는 값보다 크다면, 오른쪽 범위를 중간 값의 왼쪽으로 1씩 조정 + else: + right = mid - 1 + return 0 + +#입력으로부터 정수 n 받기 +n = int(input()) +a_list = list(map(int, input().split())) +#입력으로부터 정수 m 받기 +m = int(input()) +x_list = list(map(int, input().split())) + +#리스트 정렬 +a_list.sort() + +for x in x_list: + print(binary_search(a_list, x)) diff --git "a/2\354\243\274\354\260\250/2110\353\262\210.py" "b/2 \354\243\274\354\260\250/2110\353\262\210.py" similarity index 97% rename from "2\354\243\274\354\260\250/2110\353\262\210.py" rename to "2 \354\243\274\354\260\250/2110\353\262\210.py" index c4ec9f4..68c6af9 100644 --- "a/2\354\243\274\354\260\250/2110\353\262\210.py" +++ "b/2 \354\243\274\354\260\250/2110\353\262\210.py" @@ -1,38 +1,38 @@ -import sys - -input = sys.stdin.readline -# map 함수를 사용하여 입력된 값을 공백 기준으로 나눈 결과를 정수로 변환하여 각각 저장 -N, C = map(int, input().split()) -#N개의 집 좌표를 입력받고, 각 좌표를 정수로 변환 후 sorted 함수로 정렬하여 home에 저장 -home = sorted([int(input()) for _ in range(N)]) - -# 공유기가 설치될 수 있는 최대 거리를 받아 해당 거리로 공유기를 설치했을 때의 개수를 세는 함수를 정의 -# count 는 공유기의 개수 저장, current 는 현재 집의 좌표 -def count_routers(distance): - count, current = 1, home[0] - - for h in home: - if h - current >= distance: - count += 1 - current = h - - return count - -# 이진 탐색을 위한 시작점과 끝점 설정, 시작점은 항상 1, 끝점은 정렬된 집의 좌표 중 가장 뒤에 있는 좌표에서 가장 앞에 있는 좌표를 뺀 값 -start, end = 1, home[-1] - home[0] -# result 는 공유기 사이의 최대 거 -result = 0 - -# 시작점이 끝점보다 작거나 같은 동안 계속 반복, 중간지점 mid 계산 -while start <= end: - mid = (start + end) // 2 - -# 중간 지점으로 공유기를 설치했을 때의 개수가 목표 개수보다 크거나 같다면, 현재의 중간 값을 결과로 저장 - # 시작점을 중간값보다 +1로 갱신, 그렇지 않다면 끝점을 중간 값보다 -1로 갱신 - if count_routers(mid) >= C: - result = mid - start = mid + 1 - else: - end = mid - 1 - -print(result) +import sys + +input = sys.stdin.readline +# map 함수를 사용하여 입력된 값을 공백 기준으로 나눈 결과를 정수로 변환하여 각각 저장 +N, C = map(int, input().split()) +#N개의 집 좌표를 입력받고, 각 좌표를 정수로 변환 후 sorted 함수로 정렬하여 home에 저장 +home = sorted([int(input()) for _ in range(N)]) + +# 공유기가 설치될 수 있는 최대 거리를 받아 해당 거리로 공유기를 설치했을 때의 개수를 세는 함수를 정의 +# count 는 공유기의 개수 저장, current 는 현재 집의 좌표 +def count_routers(distance): + count, current = 1, home[0] + + for h in home: + if h - current >= distance: + count += 1 + current = h + + return count + +# 이진 탐색을 위한 시작점과 끝점 설정, 시작점은 항상 1, 끝점은 정렬된 집의 좌표 중 가장 뒤에 있는 좌표에서 가장 앞에 있는 좌표를 뺀 값 +start, end = 1, home[-1] - home[0] +# result 는 공유기 사이의 최대 거 +result = 0 + +# 시작점이 끝점보다 작거나 같은 동안 계속 반복, 중간지점 mid 계산 +while start <= end: + mid = (start + end) // 2 + +# 중간 지점으로 공유기를 설치했을 때의 개수가 목표 개수보다 크거나 같다면, 현재의 중간 값을 결과로 저장 + # 시작점을 중간값보다 +1로 갱신, 그렇지 않다면 끝점을 중간 값보다 -1로 갱신 + if count_routers(mid) >= C: + result = mid + start = mid + 1 + else: + end = mid - 1 + +print(result) diff --git "a/3\354\243\274\354\260\250/1260\353\262\210.py" "b/3 \354\243\274\354\260\250/1260\353\262\210.py" similarity index 100% rename from "3\354\243\274\354\260\250/1260\353\262\210.py" rename to "3 \354\243\274\354\260\250/1260\353\262\210.py" diff --git "a/4\354\243\274\354\260\250/11047\353\262\210.py" "b/4 \354\243\274\354\260\250/11047\353\262\210.py" similarity index 100% rename from "4\354\243\274\354\260\250/11047\353\262\210.py" rename to "4 \354\243\274\354\260\250/11047\353\262\210.py" diff --git "a/4\354\243\274\354\260\250/2875\353\262\210.py" "b/4 \354\243\274\354\260\250/2875\353\262\210.py" similarity index 100% rename from "4\354\243\274\354\260\250/2875\353\262\210.py" rename to "4 \354\243\274\354\260\250/2875\353\262\210.py" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" diff --git "a/7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" "b/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" similarity index 100% rename from "7\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" rename to "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" diff --git "a/8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" "b/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" similarity index 100% rename from "8\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" rename to "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" diff --git "a/9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" "b/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" similarity index 100% rename from "9\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" rename to "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" From ae175afd0092f071820c4a5a98d31450ccd073df Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 5 Feb 2024 23:47:14 +0900 Subject: [PATCH 54/98] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=88=9C=EC=84=9C?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 0 .../README.md" | 0 .../2750.py" => "01\354\243\274\354\260\250/2750.py" | 0 .../2751.py" => "01\354\243\274\354\260\250/2751.py" | 0 .../1920\353\262\210.py" | 0 .../2110\353\262\210.py" | 0 .../1260\353\262\210.py" | 0 .../11047\353\262\210.py" | 0 .../2875\353\262\210.py" | 0 .../README.md" | 0 .../\352\271\200\354\204\234\354\230\201/1012.py" | 0 .../\352\271\200\354\204\234\354\230\201/README.md" | 0 .../\353\257\274\352\270\260\355\231\215/1012.py" | 0 .../\353\257\274\352\270\260\355\231\215/2178.py" | 0 .../\353\257\274\352\270\260\355\231\215/2606.py" | 0 .../\353\257\274\352\270\260\355\231\215/README.md" | 0 .../\354\204\234\353\217\231\355\230\201/README.md" | 0 .../\354\240\225\354\232\260\355\230\204/README.md" | 0 .../README.md" | 0 .../\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" | 0 .../\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" | 0 .../\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" | 0 .../\352\271\200\354\204\234\354\230\201/README.md" | 0 .../\353\257\274\352\270\260\355\231\215/18352.py" | 0 .../\353\257\274\352\270\260\355\231\215/2583.py" | 0 .../\353\257\274\352\270\260\355\231\215/2667.py" | 0 .../\353\257\274\352\270\260\355\231\215/README.md" | 0 .../\354\204\234\353\217\231\355\230\201/18352.py" | 0 .../\354\204\234\353\217\231\355\230\201/2583.py" | 0 .../\354\204\234\353\217\231\355\230\201/2667.py" | 0 .../\354\204\234\353\217\231\355\230\201/README.md" | 0 .../\354\204\234\353\217\231\355\230\201/abc.txt" | 0 .../\354\240\225\354\232\260\355\230\204/18352.py" | 0 .../\354\240\225\354\232\260\355\230\204/2583.py" | 0 .../\354\240\225\354\232\260\355\230\204/2667.py" | 0 .../\354\240\225\354\232\260\355\230\204/README.md" | 0 .../README.md" | 0 .../\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" | 0 .../\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" | 0 .../\353\257\274\352\270\260\355\231\215/11052.py" | 0 .../\353\257\274\352\270\260\355\231\215/12865.py" | 0 .../\354\204\234\353\217\231\355\230\201/11052.py" | 0 .../\354\204\234\353\217\231\355\230\201/15686.py" | 0 .../\354\240\225\354\232\260\355\230\204/11052.py" | 0 .../\354\240\225\354\232\260\355\230\204/15686.py" | 0 .../README.md" => "10\354\243\274\354\260\250/README.md" | 0 46 files changed, 0 insertions(+), 0 deletions(-) rename "0 \354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" => "00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" (100%) rename "1 \354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" => "01\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" (100%) rename "1 \354\243\274\354\260\250/2750.py" => "01\354\243\274\354\260\250/2750.py" (100%) rename "1 \354\243\274\354\260\250/2751.py" => "01\354\243\274\354\260\250/2751.py" (100%) rename "2 \354\243\274\354\260\250/1920\353\262\210.py" => "02\354\243\274\354\260\250/1920\353\262\210.py" (100%) rename "2 \354\243\274\354\260\250/2110\353\262\210.py" => "02\354\243\274\354\260\250/2110\353\262\210.py" (100%) rename "3 \354\243\274\354\260\250/1260\353\262\210.py" => "03\354\243\274\354\260\250/1260\353\262\210.py" (100%) rename "4 \354\243\274\354\260\250/11047\353\262\210.py" => "04\354\243\274\354\260\250/11047\353\262\210.py" (100%) rename "4 \354\243\274\354\260\250/2875\353\262\210.py" => "04\354\243\274\354\260\250/2875\353\262\210.py" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" (100%) rename "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" => "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" (100%) rename "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" => "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" (100%) rename "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" => "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" (100%) rename "10 \354\243\274\354\260\250/README.md" => "10\354\243\274\354\260\250/README.md" (100%) diff --git "a/0 \354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" similarity index 100% rename from "0 \354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" rename to "00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" diff --git "a/1 \354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" "b/01\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" similarity index 100% rename from "1 \354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" rename to "01\354\243\274\354\260\250 (\354\240\225\353\240\254)/README.md" diff --git "a/1 \354\243\274\354\260\250/2750.py" "b/01\354\243\274\354\260\250/2750.py" similarity index 100% rename from "1 \354\243\274\354\260\250/2750.py" rename to "01\354\243\274\354\260\250/2750.py" diff --git "a/1 \354\243\274\354\260\250/2751.py" "b/01\354\243\274\354\260\250/2751.py" similarity index 100% rename from "1 \354\243\274\354\260\250/2751.py" rename to "01\354\243\274\354\260\250/2751.py" diff --git "a/2 \354\243\274\354\260\250/1920\353\262\210.py" "b/02\354\243\274\354\260\250/1920\353\262\210.py" similarity index 100% rename from "2 \354\243\274\354\260\250/1920\353\262\210.py" rename to "02\354\243\274\354\260\250/1920\353\262\210.py" diff --git "a/2 \354\243\274\354\260\250/2110\353\262\210.py" "b/02\354\243\274\354\260\250/2110\353\262\210.py" similarity index 100% rename from "2 \354\243\274\354\260\250/2110\353\262\210.py" rename to "02\354\243\274\354\260\250/2110\353\262\210.py" diff --git "a/3 \354\243\274\354\260\250/1260\353\262\210.py" "b/03\354\243\274\354\260\250/1260\353\262\210.py" similarity index 100% rename from "3 \354\243\274\354\260\250/1260\353\262\210.py" rename to "03\354\243\274\354\260\250/1260\353\262\210.py" diff --git "a/4 \354\243\274\354\260\250/11047\353\262\210.py" "b/04\354\243\274\354\260\250/11047\353\262\210.py" similarity index 100% rename from "4 \354\243\274\354\260\250/11047\353\262\210.py" rename to "04\354\243\274\354\260\250/11047\353\262\210.py" diff --git "a/4 \354\243\274\354\260\250/2875\353\262\210.py" "b/04\354\243\274\354\260\250/2875\353\262\210.py" similarity index 100% rename from "4 \354\243\274\354\260\250/2875\353\262\210.py" rename to "04\354\243\274\354\260\250/2875\353\262\210.py" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/README.md" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/1012.py" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\352\271\200\354\204\234\354\230\201/README.md" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/1012.py" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2178.py" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/2606.py" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\353\257\274\352\270\260\355\231\215/README.md" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\204\234\353\217\231\355\230\201/README.md" diff --git "a/7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" "b/07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" similarity index 100% rename from "7 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" rename to "07\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211_bfs_dfs/\354\240\225\354\232\260\355\230\204/README.md" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/README.md" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/18352\353\262\210.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2583\353\262\210.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/2667\353\262\210.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\352\271\200\354\204\234\354\230\201/README.md" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/18352.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2583.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/2667.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\353\257\274\352\270\260\355\231\215/README.md" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/18352.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2583.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/2667.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/README.md" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\204\234\353\217\231\355\230\201/abc.txt" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/18352.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2583.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/2667.py" diff --git "a/8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" "b/08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" similarity index 100% rename from "8 \354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" rename to "08\354\243\274\354\260\250 \353\257\270\353\241\234\355\203\220\354\203\211&\353\213\244\354\235\265\354\212\244\355\212\270\353\235\274/\354\240\225\354\232\260\355\230\204/README.md" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/README.md" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/11052 \353\262\210.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\352\271\200\354\204\234\354\230\201/15686\353\262\210.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/11052.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\353\257\274\352\270\260\355\231\215/12865.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/11052.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\204\234\353\217\231\355\230\201/15686.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/11052.py" diff --git "a/9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" "b/09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" similarity index 100% rename from "9 \354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" rename to "09\354\243\274\354\260\250 \354\271\264\353\223\234\352\265\254\353\247\244\355\225\230\352\270\260&\354\271\230\355\202\250\353\260\260\353\213\254/\354\240\225\354\232\260\355\230\204/15686.py" diff --git "a/10 \354\243\274\354\260\250/README.md" "b/10\354\243\274\354\260\250/README.md" similarity index 100% rename from "10 \354\243\274\354\260\250/README.md" rename to "10\354\243\274\354\260\250/README.md" From 15ec1b368aae696f20245463f9882c63f9602603 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Wed, 7 Feb 2024 22:04:29 +0900 Subject: [PATCH 55/98] =?UTF-8?q?=EC=B0=BE=EC=9D=80=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2293, 2294 (다이나믹 알고리즘) --- "10\354\243\274\354\260\250/README.md" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/10\354\243\274\354\260\250/README.md" "b/10\354\243\274\354\260\250/README.md" index 4659b82..e16994e 100644 --- "a/10\354\243\274\354\260\250/README.md" +++ "b/10\354\243\274\354\260\250/README.md" @@ -2,8 +2,8 @@ ## 숙제 |난이도|번호|제목|링크| |-|-|-|-| -||번||https://www.acmicpc.net/problem/| -||번||https://www.acmicpc.net/problem/| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| ## 스터디 진행 중 풀이 |난이도|번호|제목|링크| @@ -16,8 +16,8 @@ #### 민기홍 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +|골드 5|2293번|동전 1|https://www.acmicpc.net/problem/2293| +|골드 5|2294번|동전 2|https://www.acmicpc.net/problem/2294| #### 김서영 |난이도|번호|제목|링크| From f9a5c1641953e4b4d0600b8ae82af5553a49b629 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 8 Feb 2024 02:09:45 +0900 Subject: [PATCH 56/98] =?UTF-8?q?readme=20update=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2/7 디코 회의 내용 업데이트. 회의 참석 못한 김서영씨 필독! --- "10\354\243\274\354\260\250/README.md" | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git "a/10\354\243\274\354\260\250/README.md" "b/10\354\243\274\354\260\250/README.md" index e16994e..325a25d 100644 --- "a/10\354\243\274\354\260\250/README.md" +++ "b/10\354\243\274\354\260\250/README.md" @@ -1,15 +1,29 @@ > 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 + +> 2/7 회의 내용: +> 1. 코테 문제 선정 +> 쉬운 dp, 백트래킹 1문제씩 풀고 저번 시간(김서영 가고 난 이후)에 풀었던 "평범한 배낭"문제 마무리 +> 2. 담주 월요일(설연휴) 스터디 일정 +> **4명 모두 디코가 가능하면 디코로 진행. 1명이라도 미참여 시 깃에 풀이과정 상세히 올리는 거로 대체.** +> 예시) dp 문제면 답에 해당되는 점화식이 나오게 된 풀이과정을 꼭 제시해야 함. +> 점화식에 1이 들어갈 때, 2가 들어갈 때... +> 3. **김동주 교수의 스터디 참전 소식** +> 교수님의 너무 부가적인 내용이 있을 시 팀장 선에서 컷할 예정이니 너무 걱정하지 않아도 됨. +> 예시) 너무 어려운 문제 추천(골드 3)과 동시에 문제 풀이까지 진행되는 경우 컷할 예정. +> 4. **앞으로 찾아온 문제는 해당 주차 readme에 본인이 직접 수정해서 넣기** + ## 숙제 |난이도|번호|제목|링크| |-|-|-|-| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +|실버 3|9461번|파도반수열|https://www.acmicpc.net/problem/9461| +|실버 1|14888번|연산자 끼워넣기|https://www.acmicpc.net/problem/14888| +|골드 5|12865번|평범한 배낭|https://www.acmicpc.net/problem/12865| ## 스터디 진행 중 풀이 |난이도|번호|제목|링크| |-----|-----|----------|----------------------------------------| |난이도|번호|제목|링크| -|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|9251번|LCS|https://www.acmicpc.net/problem/9251| ## 찾아온 문제들 From 80525cb4b8abb9eaec68f98384bf8d94709c68ab Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 8 Feb 2024 02:13:05 +0900 Subject: [PATCH 57/98] =?UTF-8?q?readme=20update=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 쓸데없는 내용 지움 --- "10\354\243\274\354\260\250/README.md" | 2 -- 1 file changed, 2 deletions(-) diff --git "a/10\354\243\274\354\260\250/README.md" "b/10\354\243\274\354\260\250/README.md" index 325a25d..9d4b4c5 100644 --- "a/10\354\243\274\354\260\250/README.md" +++ "b/10\354\243\274\354\260\250/README.md" @@ -8,8 +8,6 @@ > 예시) dp 문제면 답에 해당되는 점화식이 나오게 된 풀이과정을 꼭 제시해야 함. > 점화식에 1이 들어갈 때, 2가 들어갈 때... > 3. **김동주 교수의 스터디 참전 소식** -> 교수님의 너무 부가적인 내용이 있을 시 팀장 선에서 컷할 예정이니 너무 걱정하지 않아도 됨. -> 예시) 너무 어려운 문제 추천(골드 3)과 동시에 문제 풀이까지 진행되는 경우 컷할 예정. > 4. **앞으로 찾아온 문제는 해당 주차 readme에 본인이 직접 수정해서 넣기** ## 숙제 From 333b93fc9d16b793a75af8ba4784b837f54c4d37 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Thu, 8 Feb 2024 02:20:09 +0900 Subject: [PATCH 58/98] =?UTF-8?q?12865=20=EC=A4=91=EB=B3=B5=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0=20=EB=B2=84=EC=A0=BC=20(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 0 .../12865_dedupe_ver.py" | 20 +++++++++++++++++++ 2 files changed, 20 insertions(+) rename "10\354\243\274\354\260\250/README.md" => "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" (100%) create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/12865_dedupe_ver.py" diff --git "a/10\354\243\274\354\260\250/README.md" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" similarity index 100% rename from "10\354\243\274\354\260\250/README.md" rename to "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/12865_dedupe_ver.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/12865_dedupe_ver.py" new file mode 100644 index 0000000..4279b7b --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/12865_dedupe_ver.py" @@ -0,0 +1,20 @@ +N, K = map(int, input().split()) +WV = [[0 for _ in range(2)] for i in range(N)] # 무게 +result = [0 for _ in range(N)] +max_result = 0 + + +for i in range(N): + WV[i][0], WV[i][1] = map(int, input().split()) +# +# WV.sort() + +# dp +for i in range(N, 0, -1): + limit = K + for j in range(i, 0, -1): + if WV[j-1][0] <= limit : + limit -= WV[j-1][0] + result[i-1] += WV[j-1][1] + +print(result) \ No newline at end of file From eba248e48c0db4dcdacba05e44ea58a823a40aa6 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Sun, 11 Feb 2024 21:00:43 +0900 Subject: [PATCH 59/98] =?UTF-8?q?9461=20solved=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../9461.py" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/9461.py" diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/9461.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/9461.py" new file mode 100644 index 0000000..5c611f4 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/9461.py" @@ -0,0 +1,24 @@ +import sys +input = sys.stdin.readline + +T = int(input()) # 테스트 케이스 +case_index = [] # P(N)의 N을 담을 리스트 +P = [0, 1, 1, 1] # 파도반 수열 P +#차례로 P(0), 1, 2, 3 + +# 각 테스트 케이스 N 입력 +for t in range(T) : + case_index.append(int(input())) + + +# dynamic programing +for t in range(T): + if case_index[t] < 4: # P(1)~P(3) 값이 1 + print(1) + continue + elif len(P) >= case_index[t] and P[case_index[t]] != 1: # P(N)의 값이 리스트에 존재하면 출력 + print(P[case_index[t]]) + continue + for N in range(4, max(case_index)+1): # 입력된 N 중에 최대값부터 점화식 이용 + P.append(P[N-2] + P[N-3]) + print(P[case_index[t]]) \ No newline at end of file From b509addffda334ae4c821d7ce0ca4abaa80c3789 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Sun, 11 Feb 2024 21:14:36 +0900 Subject: [PATCH 60/98] =?UTF-8?q?9461=20solved=20=ED=92=80=EC=9D=B4=20?= =?UTF-8?q?=EC=9E=91=EC=84=B1=20(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" new file mode 100644 index 0000000..32fef18 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" @@ -0,0 +1,24 @@ +## 파도반 수열 (9461 실버3) + +아이디어: +1. 명확한 규칙성을 보이기에 점화식을 세울 수 있어 dp 알고리즘으로 풀 수 있다. +2. 입력된 testcase에 대해 가장 높은 숫자에 대해 파도반 수열 P를 구해놓으면 그보다 작은 N에 대해서는 반복적으로 점화식을 쓸 필요없이 리스트 P에 저장된 P(N)을 출력하면 된다. + +풀이: +**아이디어1** +P(1) = 1 P(2) = 1 P(3) = 1 P(4) = 2 P(5) = 2 +P(6) = 3 P(7) = 4 P(8) = 5 P(9) = 7 P(10) = 9 +... +p(4) = P(1) + P(2) -> 2 = 1 + 1 +P(5) = P(2) + P(3) -> 2 = 1 + 1 +P(6) = P(3) + P(4) -> 3 = 1 + 2 +P(7) = P(4) + P(5) -> 4 = 2 + 2 +P(8) = P(5) + P(6) -> 5 = 2 + 3 +P(9) = P(6) + P(7) -> 7 = 3 + 4 +P(10) = P(7) + P(8)-> 9 = 4 + 5 +점화식 => P(N) = P(N-3) + P(N-2) +**아이디어2** +예제) testcase = 2 +케이스1 = 6 +케이스2 = 12 +-> 이미 구해놓은 P(3) 이후부터 P(12)까지 점화식을 이용해 순차적으로 구한 후 남은 케이스인 P(6)은 점화식을 이용하지 않고 파도반 수열 리스트인 P에서 값을 가져와 출력 From fdfbe3bcf9c4a67b470e628fec5ba0b69b7b5b96 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Sun, 11 Feb 2024 21:19:48 +0900 Subject: [PATCH 61/98] =?UTF-8?q?9461=20=ED=92=80=EC=9D=B4=20(=EB=AF=BC?= =?UTF-8?q?=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" index 32fef18..d75b332 100644 --- "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" @@ -5,20 +5,25 @@ 2. 입력된 testcase에 대해 가장 높은 숫자에 대해 파도반 수열 P를 구해놓으면 그보다 작은 N에 대해서는 반복적으로 점화식을 쓸 필요없이 리스트 P에 저장된 P(N)을 출력하면 된다. 풀이: + **아이디어1** -P(1) = 1 P(2) = 1 P(3) = 1 P(4) = 2 P(5) = 2 -P(6) = 3 P(7) = 4 P(8) = 5 P(9) = 7 P(10) = 9 -... -p(4) = P(1) + P(2) -> 2 = 1 + 1 -P(5) = P(2) + P(3) -> 2 = 1 + 1 -P(6) = P(3) + P(4) -> 3 = 1 + 2 -P(7) = P(4) + P(5) -> 4 = 2 + 2 -P(8) = P(5) + P(6) -> 5 = 2 + 3 -P(9) = P(6) + P(7) -> 7 = 3 + 4 -P(10) = P(7) + P(8)-> 9 = 4 + 5 -점화식 => P(N) = P(N-3) + P(N-2) + +>P(1) = 1 P(2) = 1 P(3) = 1 P(4) = 2 P(5) = 2
+>P(6) = 3 P(7) = 4 P(8) = 5 P(9) = 7 P(10) = 9
+>... +> +>p(4) = P(1) + P(2) -> 2 = 1 + 1
+>P(5) = P(2) + P(3) -> 2 = 1 + 1
+>P(6) = P(3) + P(4) -> 3 = 1 + 2
+>P(7) = P(4) + P(5) -> 4 = 2 + 2
+>P(8) = P(5) + P(6) -> 5 = 2 + 3
+>P(9) = P(6) + P(7) -> 7 = 3 + 4
+>P(10) = P(7) + P(8)-> 9 = 4 + 5
+>점화식 => P(N) = P(N-3) + P(N-2) + **아이디어2** -예제) testcase = 2 -케이스1 = 6 -케이스2 = 12 --> 이미 구해놓은 P(3) 이후부터 P(12)까지 점화식을 이용해 순차적으로 구한 후 남은 케이스인 P(6)은 점화식을 이용하지 않고 파도반 수열 리스트인 P에서 값을 가져와 출력 + +>예제) testcase = 2
+>케이스1 = 6
+>케이스2 = 12
+>-> 이미 구해놓은 P(3) 이후부터 P(12)까지 점화식을 이용해 순차적으로 구한 후 남은 케이스인 P(6)은 점화식을 이용하지 않고 파도반 수열 리스트인 P에서 값을 가져와 출력 From 9a0adcc117a3baa04b95961137f525b7211be327 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Sun, 11 Feb 2024 21:36:30 +0900 Subject: [PATCH 62/98] =?UTF-8?q?=EA=B9=80=EB=8F=99=EC=A3=BC=20=EC=B9=B8?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" "b/00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" index 4659b82..642e2f6 100644 --- "a/00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" +++ "b/00\354\243\274\354\260\250(\355\205\234\355\224\214\353\246\277)/README.md" @@ -19,7 +19,7 @@ |골드 4|번||https://www.acmicpc.net/problem/| |골드 5|번||https://www.acmicpc.net/problem/| -#### 김서영 +#### 김동주 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| |골드 4|번||https://www.acmicpc.net/problem/| From d4e0529544029531819f51ff3304d93c54058096 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Sun, 11 Feb 2024 21:39:06 +0900 Subject: [PATCH 63/98] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ac98f00..4b21500 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,11 @@ - 주언어: - 자율 or 통일 (JAVA) + 통일 (Python) - 문제: - 백준(2문제 + 시간복잡도 계산) + 백준(문제 수는 매주 다를 수 있음) - 오프라인 진행 - 모집 대상: @@ -26,7 +26,7 @@ - 시작 날짜: - 10월 말(월요일) + 2023년 10월 - 주차별난이도상승: @@ -40,10 +40,10 @@ 1. 에디터를 이용한 풀이 (난이도 하) 2. 백준 or 프로그래머스의 에디터 이용 3. 메모장 작성 - 4. 개인 자유에 맡기기 + **4. 개인 자유에 맡기기**(채택됨) - 기간: - 2월 까지 (13~14주) + 2월 까지 (13~14주) *현재 연장진행중...* [알고리즘 스터디](https://www.notion.so/312eedf08fa14f2eb0d0f54192e3b9a0?pvs=21) From 80a1cf86c2e4f57f6759ef4a6299eabb3ff0e06d Mon Sep 17 00:00:00 2001 From: UHyeonj <128715793+UHyeonj@users.noreply.github.com> Date: Mon, 12 Feb 2024 20:57:36 +0900 Subject: [PATCH 64/98] Update README.md --- .../README.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" index 9d4b4c5..cfe6a13 100644 --- "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" @@ -40,8 +40,8 @@ #### 정우현 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +|골드 5|15486번|퇴사 2|https://www.acmicpc.net/problem/15486| +|골드 5|9251번|LCS|https://www.acmicpc.net/problem/9251| #### 서동혁 |난이도|번호|제목|링크| From cde4325b21b51f651182f2ee9b9b1f1db5dff370 Mon Sep 17 00:00:00 2001 From: UHyeonj <128715793+UHyeonj@users.noreply.github.com> Date: Mon, 12 Feb 2024 21:01:36 +0900 Subject: [PATCH 65/98] =?UTF-8?q?=EC=A0=95=EC=9A=B0=ED=98=84=2010=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 정우현 10주차 --- .../12865_3.py" | 26 +++++++++++++++++ .../14888.py" | 28 +++++++++++++++++++ .../9461.py" | 14 ++++++++++ 3 files changed, 68 insertions(+) create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/12865_3.py" create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/14888.py" create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/9461.py" diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/12865_3.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/12865_3.py" new file mode 100644 index 0000000..445e2c7 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/12865_3.py" @@ -0,0 +1,26 @@ +import sys + +N, K = map(int, input().split()) +stuff = [[0,0]] +knapsack = [[0 for _ in range(K + 1)] for _ in range(N + 1)] + +for _ in range(N): + stuff.append(list(map(int, input().split()))) + + +#냅색 문제 풀이 +for i in range(1, N + 1): + for j in range(1, K + 1): + weight = stuff[i][0] + value = stuff[i][1] + + if j < weight: + knapsack[i][j] = knapsack[i - 1][j] + #weight보다 작으면 위의 값을 그대로 가져온다 + else: + #그게 아니면 현재 물건의 가치 더하기 넣을 수 있는 무게에서 현재 무게를 + #뺀 값 중 최대값의 가치를 더한 것과 이전에 그 무게 넣었던 가치 중 더 큰 값을 + #넣어준다. + knapsack[i][j] = max(value + knapsack[i - 1][j - weight], knapsack[i - 1][j]) + +print(knapsack[N][K]) diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/14888.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/14888.py" new file mode 100644 index 0000000..b8a0819 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/14888.py" @@ -0,0 +1,28 @@ +n = int(input()) +num = list(map(int, input().split())) +op = list(map(int, input().split())) + +maxi = -1e9 +mini = 1e9 + +def dfs(depth, total, plus, minus, multi, divine): + global maxi, mini + if depth == n: + maxi = max(total, maxi) + mini = min(total, mini) + return + + if plus: + dfs(depth + 1, total + num[depth], plus - 1, minus, multi, divine) + if minus: + dfs(depth + 1, total - num[depth], plus, minus - 1, multi, divine) + if multi: + dfs(depth + 1, total * num[depth], plus, minus, multi - 1, divine) + if divine: + dfs(depth + 1, int(total / num[depth]), plus, minus, multi, divine - 1) + +dfs(1, num[0], op[0], op[1], op[2], op[3]) + +print(maxi) +print(mini) + diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/9461.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/9461.py" new file mode 100644 index 0000000..297b791 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\240\225\354\232\260\355\230\204/9461.py" @@ -0,0 +1,14 @@ +T = int(input()) +arr = [0]*101 +arr[1]=1 +arr[2]=1 +arr[3]=1 + +for j in range(4, 101): + arr[j] = arr[j-2]+arr[j-3] + +for i in range(T): + n = int(input()) + print(arr[n]) + + From 356f0d34a1455048f343676f657f311f7ade1f67 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 12 Feb 2024 21:13:15 +0900 Subject: [PATCH 66/98] =?UTF-8?q?14888=20solved=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../14888.py" | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" new file mode 100644 index 0000000..d027d83 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" @@ -0,0 +1,31 @@ +N = int(input()) # 수의 개수 +A = list(map(int, input().split())) # 숫자 입력(수열) +operator = list(map(int, input().split())) # 연산자 입력 + +maximum = -1e9 # e나 E 뒤에 숫자는 10의 지수 (따라서 10의 9승인 10억) +minimum = 1e9 + +def backtrack(depth, total, plus, minus, multi, divide): + global maximum, minimum + + if depth == N: + maximum = max(total, maximum) + minimum = min(total, minimum) + return + + if plus: + backtrack(depth+1, total+A[depth], plus-1, minus, multi, divide) + if minus: + backtrack(depth + 1, total - A[depth], plus, minus-1, multi, divide) + if multi: + backtrack(depth + 1, total * A[depth], plus, minus, multi-1, divide) + if divide: + if total < 0: + backtrack(depth + 1, -(-total // A[depth]), plus, minus, multi, divide - 1) + else: + backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) + +backtrack(1, A[0], operator[0], operator[1], operator[2], operator[3]) +print(maximum) +print(minimum) + From 72c783e5565325cb007cef8984bd55dad987954d Mon Sep 17 00:00:00 2001 From: weeast1521 Date: Mon, 12 Feb 2024 21:41:06 +0900 Subject: [PATCH 67/98] =?UTF-8?q?10=EC=A3=BC=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 3 +- .../12865.py" | 19 ++++++++++++ .../14888.py" | 31 +++++++++++++++++++ .../9461.py" | 18 +++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/12865.py" create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/14888.py" create mode 100644 "10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/9461.py" diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" index cfe6a13..3d0ae75 100644 --- "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/README.md" @@ -46,5 +46,4 @@ #### 서동혁 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +|실버 1|14888번||https://www.acmicpc.net/problem/14888| diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/12865.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/12865.py" new file mode 100644 index 0000000..6cd4008 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/12865.py" @@ -0,0 +1,19 @@ +n, k = map(int, input().split()) + +thing = [[0,0]] +d = [[0]*(k+1) for _ in range(n+1)] + +for i in range(n): + thing.append(list(map(int, input().split()))) + +for i in range(1, n+1): + for j in range(1, k+1): + w = thing[i][0] + v = thing[i][1] + + if j < w: + d[i][j] = d[i-1][j] + else: + d[i][j] = max(d[i-1][j], d[i-1][j-w]+v) + +print(d[n][k]) \ No newline at end of file diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/14888.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/14888.py" new file mode 100644 index 0000000..3b19282 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/14888.py" @@ -0,0 +1,31 @@ +import sys + +input = sys.stdin.readline +N = int(input()) +num = list(map(int, input().split())) +op = list(map(int, input().split())) + +maximum = -1e9 +minimum = 1e9 + + +def dfs(depth, total, plus, minus, multiply, divide): + global maximum, minimum + if depth == N: + maximum = max(total, maximum) + minimum = min(total, minimum) + return + + if plus: + dfs(depth + 1, total + num[depth], plus - 1, minus, multiply, divide) + if minus: + dfs(depth + 1, total - num[depth], plus, minus - 1, multiply, divide) + if multiply: + dfs(depth + 1, total * num[depth], plus, minus, multiply - 1, divide) + if divide: + dfs(depth + 1, int(total / num[depth]), plus, minus, multiply, divide - 1) + + +dfs(1, num[0], op[0], op[1], op[2], op[3]) +print(maximum) +print(minimum) \ No newline at end of file diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/9461.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/9461.py" new file mode 100644 index 0000000..b4ebf35 --- /dev/null +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\354\204\234\353\217\231\355\230\201/9461.py" @@ -0,0 +1,18 @@ +T = int(input()) +triangle = [] +temp = [0,1,1,1,2,2] +Max = 0 +for i in range(T): + triangle.append(int(input())) + if triangle[i] > Max: + Max = triangle[i] + +if Max <= 5: + for i in range(T): + print(temp[triangle[i]]) +else: + for i in range(1,Max - 4): + temp.append(temp[i] + temp[i+4]) + +for i in range(T): + print(temp[triangle[i]]) \ No newline at end of file From 0abf0f9c4766d8007e604a7f77a4a33449d49fa8 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 12 Feb 2024 21:42:21 +0900 Subject: [PATCH 68/98] =?UTF-8?q?14888=20=ED=92=80=EC=9D=B4=20(=EB=AF=BC?= =?UTF-8?q?=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" index d75b332..e95f28f 100644 --- "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/README.md" @@ -27,3 +27,22 @@ >케이스1 = 6
>케이스2 = 12
>-> 이미 구해놓은 P(3) 이후부터 P(12)까지 점화식을 이용해 순차적으로 구한 후 남은 케이스인 P(6)은 점화식을 이용하지 않고 파도반 수열 리스트인 P에서 값을 가져와 출력 + +

+## 연산자 끼워넣기 (14888 실버1) + +아이디어: +1. 모든 경우를 구해서 최대와 최소값을 구해야 하기에 dfs을 이용한다. + +**아이디어1** + +연산자에 대해 +, -, *, //를 모두 한 번씩 먼저 수행해봐야 하기에 if문을 여러개 써서 dfs 함수에 대한 재귀호출을 진행한다.
+if plus:
+ dfs()
+if minus:
+ dfs()
+if multiple:
+ dfs()
+if divide:
+ dfs()
+-> 이런식으로 진행하면 모든 연산자를 수행 가능! From b7c8a61c6721ee2318710ff9fa4a71562a14dcf3 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 12 Feb 2024 22:16:13 +0900 Subject: [PATCH 69/98] Update 14888.py --- .../\353\257\274\352\270\260\355\231\215/14888.py" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" index d027d83..0c2c147 100644 --- "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" @@ -22,8 +22,9 @@ def backtrack(depth, total, plus, minus, multi, divide): if divide: if total < 0: backtrack(depth + 1, -(-total // A[depth]), plus, minus, multi, divide - 1) - else: - backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) + backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) + #else: + # backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) backtrack(1, A[0], operator[0], operator[1], operator[2], operator[3]) print(maximum) From 62a2caef754c5fa00d795f0bae890ab29e561ec8 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 12 Feb 2024 22:19:21 +0900 Subject: [PATCH 70/98] Update 14888.py --- .../\353\257\274\352\270\260\355\231\215/14888.py" | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" index 0c2c147..d027d83 100644 --- "a/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" +++ "b/10\354\243\274\354\260\250 dp&\353\260\261\355\212\270\353\236\230\355\202\271/\353\257\274\352\270\260\355\231\215/14888.py" @@ -22,9 +22,8 @@ def backtrack(depth, total, plus, minus, multi, divide): if divide: if total < 0: backtrack(depth + 1, -(-total // A[depth]), plus, minus, multi, divide - 1) - backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) - #else: - # backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) + else: + backtrack(depth + 1, total // A[depth], plus, minus, multi, divide - 1) backtrack(1, A[0], operator[0], operator[1], operator[2], operator[3]) print(maximum) From f0d423e8e90e30c7c36b0ad5d14cf22a56a46854 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 12 Feb 2024 23:26:00 +0900 Subject: [PATCH 71/98] =?UTF-8?q?create=20week11=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "11\354\243\274\354\260\250/README.md" | 38 +++++++++++++++++++ .../9251 LCS.py" | 31 +++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 "11\354\243\274\354\260\250/README.md" create mode 100644 "11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" diff --git "a/11\354\243\274\354\260\250/README.md" "b/11\354\243\274\354\260\250/README.md" new file mode 100644 index 0000000..642e2f6 --- /dev/null +++ "b/11\354\243\274\354\260\250/README.md" @@ -0,0 +1,38 @@ +> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 +## 숙제 +|난이도|번호|제목|링크| +|-|-|-|-| +||번||https://www.acmicpc.net/problem/| +||번||https://www.acmicpc.net/problem/| + +## 스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|난이도|번호|제목|링크| +|골드 4|번||https://www.acmicpc.net/problem/| + + +## 찾아온 문제들 +#### 민기홍 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 김동주 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 정우현 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 서동혁 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| diff --git "a/11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" "b/11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" new file mode 100644 index 0000000..300c02a --- /dev/null +++ "b/11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" @@ -0,0 +1,31 @@ +s1 = input() +s2 = input() +L1 = [] +L2 = [] +maximum1 = 0 +maximum2 = 0 +now = 0 + +for _ in range(len(s1)): + L1.append(s1[_]) +for _ in range(len(s2)): + L2.append(s2[_]) + +for i in range(len(L1)): + for j in range(now, len(L2)): + if L1[i] == L2[j]: + maximum1 += 1 + now = j + break +now = 0 + +for i in range(len(L2)): + for j in range(now, len(L1)): + if L2[i] == L1[j]: + maximum2 += 1 + now = j + break + +maximum = max(maximum1, maximum2) + +print(maximum) \ No newline at end of file From 99afc673d3dfd76be9bebf5c9221b13274ab592c Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 12 Feb 2024 23:30:27 +0900 Subject: [PATCH 72/98] =?UTF-8?q?10=EC=A3=BC=EC=B0=A8=20=ED=9A=8C=EC=9D=98?= =?UTF-8?q?=EB=82=B4=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2023/2/12 회의 내용: > 1. 2/19 (월) -> LCS 문제 깃에 제출 > 2. 2/26 (월) -> 문제 선정 및 스터디 날짜 선정 > 3. 개강 -> LCS과 선정한 문제 풀이 --- "11\354\243\274\354\260\250/README.md" | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git "a/11\354\243\274\354\260\250/README.md" "b/11\354\243\274\354\260\250/README.md" index 642e2f6..b725725 100644 --- "a/11\354\243\274\354\260\250/README.md" +++ "b/11\354\243\274\354\260\250/README.md" @@ -1,8 +1,14 @@ > 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 + +> 2023/2/12 회의 내용: +> 1. 2/19 (월) -> LCS 문제 깃에 제출 +> 2. 2/26 (월) -> 문제 선정 및 스터디 날짜 선정 +> 3. 개강 -> LCS과 선정한 문제 풀이 + ## 숙제 |난이도|번호|제목|링크| |-|-|-|-| -||번||https://www.acmicpc.net/problem/| +|골드 5|9251번|LCS|https://www.acmicpc.net/problem/9251| ||번||https://www.acmicpc.net/problem/| ## 스터디 진행 중 풀이 From 58a5a6aa600bab3e4ccf424d4654ef5205fda0d1 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 29 Feb 2024 00:10:05 +0900 Subject: [PATCH 73/98] =?UTF-8?q?=EC=83=88=EB=A1=9C=EC=9A=B4=20=EC=8A=A4?= =?UTF-8?q?=ED=84=B0=EB=94=94=EC=9D=98=20=EC=8B=9C=EC=9E=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "11\354\243\274\354\260\250/README.md" | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git "a/11\354\243\274\354\260\250/README.md" "b/11\354\243\274\354\260\250/README.md" index b725725..597683b 100644 --- "a/11\354\243\274\354\260\250/README.md" +++ "b/11\354\243\274\354\260\250/README.md" @@ -8,22 +8,15 @@ ## 숙제 |난이도|번호|제목|링크| |-|-|-|-| -|골드 5|9251번|LCS|https://www.acmicpc.net/problem/9251| -||번||https://www.acmicpc.net/problem/| - -## 스터디 진행 중 풀이 -|난이도|번호|제목|링크| -|-----|-----|----------|----------------------------------------| -|난이도|번호|제목|링크| -|골드 4|번||https://www.acmicpc.net/problem/| - +|실버 2|1254번|팰린드롭 만들기|https://www.acmicpc.net/problem/1254| +|골드 5|1334번|다음 팰린드롬 수|https://www.acmicpc.net/problem/1334| ## 찾아온 문제들 #### 민기홍 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +|실버 1|11660번|구간 합 구하기 5|https://www.acmicpc.net/problem/11660| +|골드 4|1806번|부분합|https://www.acmicpc.net/problem/1806| #### 김동주 |난이도|번호|제목|링크| From fe2d466181e1de6ee6f70b4a446a248019427bdb Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Thu, 29 Feb 2024 00:19:24 +0900 Subject: [PATCH 74/98] =?UTF-8?q?=ED=9A=8C=EC=9D=98=20=EB=82=B4=EC=9A=A9?= =?UTF-8?q?=20=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "11\354\243\274\354\260\250/README.md" | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git "a/11\354\243\274\354\260\250/README.md" "b/11\354\243\274\354\260\250/README.md" index 597683b..e7f7f8b 100644 --- "a/11\354\243\274\354\260\250/README.md" +++ "b/11\354\243\274\354\260\250/README.md" @@ -1,10 +1,17 @@ > 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 -> 2023/2/12 회의 내용: +> 2024/2/12 회의 내용: > 1. 2/19 (월) -> LCS 문제 깃에 제출 > 2. 2/26 (월) -> 문제 선정 및 스터디 날짜 선정 > 3. 개강 -> LCS과 선정한 문제 풀이 +> **2024/2/28 회의 내용:** +> 1. 스터디 진행 요일: 월요일 12:00 ~ 14:00 +> 2. 문제 수: 2문제 (비슷한 알고리즘 유형 선호) +> 3. 문제 난이도: 실버 2 ~ 골드 4 정도로 진행 예정 +> 4. 스터디 진행 날 문제 풀어보는 건 해보고 하기로 결정 +> 5. 아이디어: 한 사람씩 문제 정해서 난이도 비공개로 해놓고 셔플해서 코테 형식으로 풀이 + ## 숙제 |난이도|번호|제목|링크| |-|-|-|-| From 9a453c78efdd9dce871e7fd295a2105bfe24fbb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=8F=99=EC=A3=BC?= Date: Thu, 29 Feb 2024 08:36:37 +0900 Subject: [PATCH 75/98] =?UTF-8?q?docs(11=EC=A3=BC=EC=B0=A8):=20=EC=A1=B0?= =?UTF-8?q?=EC=82=AC=ED=95=B4=20=EC=98=A8=20=EB=AC=B8=EC=A0=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20(=EA=B9=80=EB=8F=99=EC=A3=BC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "11\354\243\274\354\260\250/README.md" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/11\354\243\274\354\260\250/README.md" "b/11\354\243\274\354\260\250/README.md" index e7f7f8b..bb0360c 100644 --- "a/11\354\243\274\354\260\250/README.md" +++ "b/11\354\243\274\354\260\250/README.md" @@ -28,8 +28,8 @@ #### 김동주 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +|실버 3|11659번|[구간 합 구하기 4](https://www.acmicpc.net/problem/11659)|https://www.acmicpc.net/problem/11659| +|골드 4|24838번|[배열 구간합 놀이](https://www.acmicpc.net/problem/24838)|https://www.acmicpc.net/problem/24838| #### 정우현 |난이도|번호|제목|링크| From 206a87139daed74eac76aa891b2db4329c75ceb5 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Fri, 1 Mar 2024 00:09:30 +0900 Subject: [PATCH 76/98] =?UTF-8?q?11=EC=A3=BC=EC=B0=A8=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=20=EB=AA=85=EC=B9=AD=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 0 .../\353\257\274\352\270\260\355\231\215/9251 LCS.py" | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename "11\354\243\274\354\260\250/README.md" => "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" (100%) rename "11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" => "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" (100%) diff --git "a/11\354\243\274\354\260\250/README.md" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" similarity index 100% rename from "11\354\243\274\354\260\250/README.md" rename to "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" diff --git "a/11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" similarity index 100% rename from "11\354\243\274\354\260\250/\353\257\274\352\270\260\355\231\215/9251 LCS.py" rename to "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" From 06ade9c343aaf925a5bc95ecb87f5322946adf5d Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Fri, 1 Mar 2024 03:33:05 +0900 Subject: [PATCH 77/98] =?UTF-8?q?11=EC=A3=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C?= =?UTF-8?q?=20=EC=99=84(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1254.py" | 6 +++++ .../1334 TLE.py" | 11 +++++++++ .../1334.py" | 24 +++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" new file mode 100644 index 0000000..4244bb9 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" @@ -0,0 +1,6 @@ +S = input() + +for i in range(len(S)): + if S[i:] == S[i:][::-1]: + print(len(S)+i) + break \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" new file mode 100644 index 0000000..4909db8 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" @@ -0,0 +1,11 @@ +N = int(input()) +S = str(N+1) +def palindrom(S): + if S[0:] == S[0:][::-1]: + return 0 + return 1 + +while palindrom(S): + N = N+1 + S = str(N) +print(S) \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" new file mode 100644 index 0000000..c6e3715 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" @@ -0,0 +1,24 @@ +N = int(input()) +N = N+1 +S = [] + +temp = str(N) +for i in range(len(temp)): + S.append(int(temp[i])) + +for i in range(len(S)//2): + if S[i] != S[len(S)-1-i]: + if S[i] < S[len(S)-1-i]: + if S[len(S) - i - 2] < 9: + S[len(S) - i - 2] = S[len(S) - i - 2] + 1 + else: #12991, 4995에 대한 반례 해결 + j = 0 + while (S[len(S) - i - 2 - j] + 1) // 10: + S[len(S) - i - 2 - j] = 0 + j = j + 1 + S[len(S) - i - 2 - j] = S[len(S) - i - 2 - j] + 1 + + S[len(S)-1-i] = S[i] + +for i in range(len(S)): + print(S[i], end="") From a4fda0975adff2f0044d4af10fd14f6412092bbf Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Fri, 1 Mar 2024 04:12:09 +0900 Subject: [PATCH 78/98] =?UTF-8?q?11=EC=A3=BC=EC=B0=A8=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=ED=92=80=EC=9D=B4=EA=B3=BC=EC=A0=95=20(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\355\222\200\354\235\264.md" | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" new file mode 100644 index 0000000..e706e98 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" @@ -0,0 +1,36 @@ +# 풀이 + +## 1254 팰린드롬 만들기 + +> 시도 횟수: 1
+> 풀이 시간: 1h
+> 블로그 참고여부: O
+> 참고한 블로그: https://velog.io/@sugenius77/%EB%B0%B1%EC%A4%80Python-1254%EB%B2%88-%ED%8C%B0%EB%A6%B0%EB%93%9C%EB%A1%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0
+ +## 1334 다음 팰린드롬 수 + +> 시도 횟수:
+> image
+> 풀이 시간: 2h
+> 블로그 참고여부: X
+>
+> ### 시행착오:
+> 파일 "1334 TLE.py"가 시간초과가 난 코드이다. 위의 1254문제 때문에 참고한 블로그를 바탕으로 코드를 짰는데 해당 방식이 숫자를 1씩 더하면서 계속 회문인지 확인하기 때문에 비효율적이고 오래걸리는 단점 때문에 시간초과가 났다.
+> 방식을 바꿔 조거문을 하나씩 붙여가면서 생각해보기로 했다.
+> 먼저 숫자의 가운데를 기준으로 양쪽 끝의 숫자를 동일하게 만들어 준다.

+> #### 예시) **1**234**5** -> **1**234**1**

+> 위의 경우는 12345에서 일의 자리인 5에 6을 더해서 1로 만들어줬다고 가정한 것이기에 십의 자리인 4에 1을 더해준다.

+> #### 예시) 123**4**1 -> 123**5**1

+> 만약 예시가 반대로 54321이라면 일의 자리를 5로 바꿔주기만 하면 된다.
+> 이런식으로 코드를 짰을 때 입력 예제를 입력했을 때 문제가 없었다. 하지만 문제는 숫자 9에서 1을 더했을 때 생겼다.

+> 반례)
+> input: 4995
+> output: 410104
+> answer: 5005

+> 입력 받는 숫자는 회문이 맞는지 비교가 필요하기에 4995의 다음 큰 수인 4996을 리스트에 따로 넣었다.
+> input int 4995 -> +1 -> 문자열로 변환 -> 자릿수로 분해해서 list에 숫자로 저장 -> N = [4, 9, 9, 6]
+> 그래서 9에 1을 더하면 10이기에
+> [4, 9, **9 + 1**, 6] -> [4, 9, **10**, 6]
+>
+> ### 해결:
+> 9가 10이 될 때 다음 자릿수에 영향을 미치는 것에 대해 다음 자릿수도 9인 것을 감안하여 예외처리를 해서 해결했음.
From 180af6e5bfd02d6c7234c24255d3e0573a94d769 Mon Sep 17 00:00:00 2001 From: Hepheir Date: Sun, 3 Mar 2024 21:37:55 +0900 Subject: [PATCH 79/98] =?UTF-8?q?AC(44ms):=20O(N^2)=EC=97=90=20=ED=92=80?= =?UTF-8?q?=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4 \353\247\214\353\223\244\352\270\260.py" | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" new file mode 100644 index 0000000..acd3ee2 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" @@ -0,0 +1,26 @@ +def main(S: str) -> int: + # O(N^2) + for s in range(len(S)): + # s 번째 원소부터 마지막 글자까지 팰린드롬인지 본다. + if is_palindrome(S, s, len(S)-1): + # [0,s) 구간의 문자 s개를 뒤집어서 S의 뒤에 붙여주면 팰린드롬이 된다. + return len(S) + s + # `s`가 `len(S)-1`과 같은 길이 1의 문자열이면 무조건 팰린드롬일 텐데, + # 여기까지 프로그램이 도달했다는 건 분명 내 코드에 논리적인 문제가 있는 것이다. + raise ArithmeticError + + +def is_palindrome(string: str, start: int, end: int): + # 문자열이 좌우 대칭인지 검사. O(N) + for offset in range((end-start+1)//2): + if string[start+offset] != string[end-offset]: + return False + return True + + +if __name__ == "__main__": + # print(main("abab"), 5) + # print(main("abacaba"), 7) + # print(main("qwerty"), 11) + # print(main("abdfhdyrbdbsdfghjkllkjhgfds"), 38) + print(main(input())) From d430653304068dcbfd44262f052c2725f24b9edf Mon Sep 17 00:00:00 2001 From: UHyeonj <128715793+UHyeonj@users.noreply.github.com> Date: Sun, 3 Mar 2024 23:08:38 +0900 Subject: [PATCH 80/98] =?UTF-8?q?=EC=A0=95=EC=9A=B0=ED=98=84(11=EC=A3=BC?= =?UTF-8?q?=EC=B0=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 정우현(11주차) --- .../1254.py" | 23 +++++++++++ .../1254_2.py" | 7 ++++ .../1334.py" | 40 +++++++++++++++++++ .../1334_timeover.py" | 16 ++++++++ 4 files changed, 86 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" new file mode 100644 index 0000000..d68ee2d --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" @@ -0,0 +1,23 @@ +str = str(input()) +strarr = list(str) + +def is_prdrop(strarr): + w = len(strarr)//2 + for i in range(w): + for j in range(len(strarr)-1,w,-1): + if strarr[i] == strarr[j]: + i += 1 + else: + return False + return True + + + +def prdrop(strarr): + if is_prdrop(strarr): + print(strarr) + else: + + +prdrop(strarr) + diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" new file mode 100644 index 0000000..e85621c --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" @@ -0,0 +1,7 @@ +import sys +s = sys.stdin.readline().strip() + +for i in range(len(s)): + if s[i:] == s[i:][::-1]: + print(len(s)+i) + break diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" new file mode 100644 index 0000000..0abf2b4 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" @@ -0,0 +1,40 @@ +n=input() +#한자리 수 일 때 처 +if len(n)==1: + n=int(n) + if n==9: + print(11) + else: + print(n+1) +#홀수인 경우 +elif len(n)&1: + a=int(n[:len(n)//2][::-1]) + b=int(n[len(n)//2+1:]) + if a>b: + #앞에서부터 중앙수 까지의 수와 뒤에서부터 주앙수까지의 숫자 중 + #앞이 더 클 때 뒤에 수를 앞에서부터 카운트 한 것을 거꾸로 붙여준다. + print(n[:len(n)//2]+n[len(n)//2]+n[:len(n)//2][::-1]) + else: + #반대인데 중앙 수가 9인 경우 + if int(n[len(n)//2])==9: + c=str(int(n[:len(n)//2])+1) + if len(c)==len(n[:len(n)//2]): + print(c+"0"+c[::-1]) + elif len(c)>len(n[:len(n)//2]): + print(c+c[::-1]) + else: + #특별한 경우가 아니면 주앙수에 1을 더해주고 위와 동일하게 한다. + print(n[:len(n)//2]+str(int(n[len(n)//2])+1)+n[:len(n)//2][::-1]) +#짝수인 경우 +else: + a=int(n[:len(n)//2][::-1]) + b=int(n[len(n)//2:]) + if a>b: + #앞부분이 더 크면 그대로 뒤집어서 붙여준다. + print(n[:len(n)//2]+n[:len(n)//2][::-1]) + else: + c=str(int(n[:len(n)//2])+1) + if len(c)==len(n[:len(n)//2]): + print(c+c[::-1]) + elif len(c)>len(n[:len(n)//2]): + print(c+c[::-1][1:]) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" new file mode 100644 index 0000000..c3c869b --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" @@ -0,0 +1,16 @@ +def is_prdrop(N): + if str(N) == str(N)[::-1]: + return N + else: + return False + +def prdrop(N): + while True: + N += 1 + if is_prdrop(N): + return N + +N = int(input()) +r = prdrop(N) +print(r) + From 0f334d370c82c2e919c56e1e4d8efc24252f2606 Mon Sep 17 00:00:00 2001 From: Hepheir Date: Mon, 4 Mar 2024 01:38:48 +0900 Subject: [PATCH 81/98] TLE: bruteforce with smart degenerate cases --- ...0\353\223\234\353\241\254 \354\210\230.py" | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" new file mode 100644 index 0000000..f9b5f4a --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" @@ -0,0 +1,66 @@ +import typing + + +def main(s: str) -> str: + numbers = list(map(int, s)) + s = len(numbers) // 2 + e = len(numbers) - 1 - s + if (answer := build_palindrome(numbers, s, e)) is None: + numbers[0] += 1 + numbers[1:] = [0] * (len(numbers)-1) + answer = build_palindrome(numbers, s, e, increased=True) + return ''.join(map(str, answer)) + + +def build_palindrome(numbers: typing.Tuple[int], s: int, e: int, stack: typing.List[int] = [], increased=False) -> typing.Optional[typing.Tuple[int]]: + if s < 0: + # 모든 자릿 수를 완성함. + if not increased: + # 처음 수 보다는 커야 하므로 오답. + return None + # 정답 후보의 사본을 생성하여 반환한다. + answer = list(numbers) + answer[:len(stack)] = reversed(stack) + answer[-len(stack):] = stack + return tuple(answer) + + if not increased: + # e번째 보다 높은 자릿 수가 커진 적이 없을 경우이다. + + if numbers[s] < numbers[e]: + # 팰린드롬이 되기 위해서는 e번째 숫자가 감소해야함. + # 이대로 진행 할 경우, 만들어진 수는 처음에 비해 작아지는 것이 된다. + # 즉, 오답이다. + return None + + elif numbers[s] > numbers[e]: + # 만약 낮은 자릿 수를 *증가*시켜서 펠린드롬을 만들 수 있으면 진행한다. + increased = True + + # numbers[s]를 펠린드롬 수(스택)에 추가한 상태로 진행해보자 + stack.append(numbers[s]) + # 그냥 한 번 해보고, + answer1 = build_palindrome(numbers, s-1, e+1, stack, increased) + # 하나 증가시켜서도 해보자. (자릿수가 증가되는 경우는 정답이 아닌 것으로 계산한다.) + stack[-1] += 1 + answer2 = build_palindrome(numbers, s-1, e+1, stack, True) if stack[-1] != 10 else None + # 백트레킹 될 것을 염두해서 스택은 원상 복구. + stack.pop() + + # 위에서 얻은 두 개의 정답을 비교해서 작은 쪽을 선택한다. + if answer1 is None: + return answer2 + if answer2 is None: + return answer1 + for i in range(len(numbers)): + if answer1[i] != answer2[i]: + break + return answer1 if answer1[i] < answer2[i] else answer2 + + +if __name__ == "__main__": + # print(main("12345"), 12421) + # print(main("858"), 868) + # print(main("1999"), 2002) + # print(main("1"), 2) + print(main(input())) From 5b5e511cfdeaf763aac6dabec907848aac7fbcff Mon Sep 17 00:00:00 2001 From: Hepheir Date: Mon, 4 Mar 2024 03:50:03 +0900 Subject: [PATCH 82/98] =?UTF-8?q?AC(156ms):=20=EC=9E=AC=EA=B7=80=20+=20?= =?UTF-8?q?=EC=A6=9D=EA=B0=80=EC=8B=9C=ED=82=A8=20=EC=88=98=20=EB=A7=88?= =?UTF-8?q?=EC=8A=A4=ED=82=B9=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\353\223\234\353\241\254 \354\210\230.py" | 66 ------------------ ...0\353\223\234\353\241\254 \354\210\230.py" | 69 +++++++++++++++++++ 2 files changed, 69 insertions(+), 66 deletions(-) delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" deleted file mode 100644 index f9b5f4a..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" +++ /dev/null @@ -1,66 +0,0 @@ -import typing - - -def main(s: str) -> str: - numbers = list(map(int, s)) - s = len(numbers) // 2 - e = len(numbers) - 1 - s - if (answer := build_palindrome(numbers, s, e)) is None: - numbers[0] += 1 - numbers[1:] = [0] * (len(numbers)-1) - answer = build_palindrome(numbers, s, e, increased=True) - return ''.join(map(str, answer)) - - -def build_palindrome(numbers: typing.Tuple[int], s: int, e: int, stack: typing.List[int] = [], increased=False) -> typing.Optional[typing.Tuple[int]]: - if s < 0: - # 모든 자릿 수를 완성함. - if not increased: - # 처음 수 보다는 커야 하므로 오답. - return None - # 정답 후보의 사본을 생성하여 반환한다. - answer = list(numbers) - answer[:len(stack)] = reversed(stack) - answer[-len(stack):] = stack - return tuple(answer) - - if not increased: - # e번째 보다 높은 자릿 수가 커진 적이 없을 경우이다. - - if numbers[s] < numbers[e]: - # 팰린드롬이 되기 위해서는 e번째 숫자가 감소해야함. - # 이대로 진행 할 경우, 만들어진 수는 처음에 비해 작아지는 것이 된다. - # 즉, 오답이다. - return None - - elif numbers[s] > numbers[e]: - # 만약 낮은 자릿 수를 *증가*시켜서 펠린드롬을 만들 수 있으면 진행한다. - increased = True - - # numbers[s]를 펠린드롬 수(스택)에 추가한 상태로 진행해보자 - stack.append(numbers[s]) - # 그냥 한 번 해보고, - answer1 = build_palindrome(numbers, s-1, e+1, stack, increased) - # 하나 증가시켜서도 해보자. (자릿수가 증가되는 경우는 정답이 아닌 것으로 계산한다.) - stack[-1] += 1 - answer2 = build_palindrome(numbers, s-1, e+1, stack, True) if stack[-1] != 10 else None - # 백트레킹 될 것을 염두해서 스택은 원상 복구. - stack.pop() - - # 위에서 얻은 두 개의 정답을 비교해서 작은 쪽을 선택한다. - if answer1 is None: - return answer2 - if answer2 is None: - return answer1 - for i in range(len(numbers)): - if answer1[i] != answer2[i]: - break - return answer1 if answer1[i] < answer2[i] else answer2 - - -if __name__ == "__main__": - # print(main("12345"), 12421) - # print(main("858"), 868) - # print(main("1999"), 2002) - # print(main("1"), 2) - print(main(input())) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" new file mode 100644 index 0000000..15e2ad6 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" @@ -0,0 +1,69 @@ +import typing + + +def main(s: str) -> str: + number = str(int(s)+1) + numbers = list(map(int, number)) + make_palindrome(numbers) + return ''.join(map(str, numbers)) + + +def make_palindrome(numbers: typing.List[int], s: int = 0, e: int = None, increased_at: int = None): + if e is None: + e = len(numbers) - 1 + if increased_at is None: + increased_at = len(numbers) + + if s > e: + # 모든 수를 완성했다는 뜻. + return + + if numbers[s] < numbers[e]: + if increased_at >= e: + # e번째 자리 수 이전에 증가된 숫자가 없을 경우에는 숫자를 낮출 수 없다. + # 따라서, 앞자리 수에서 값을 증가시킨 뒤, e번째 숫자를 낮춘다. + increased_at = increase_a_bit(numbers, s, e) + numbers[e] = numbers[s] + + make_palindrome(numbers, s+1, e-1, increased_at) + + +def increase_a_bit(numbers: typing.List[int], s: int, e: int) -> int: + """펠린드롬을 만들어 가면서 증가 시킬 수 있는 수 중 가장 작은 숫자를 증가시킴. + + 증가시킨 수의 인덱스를 반환한다. + """ + # 펠린드롬의 양 끝단에서 부터 탐색 시작 + while s < e: + if numbers[s] > numbers[e]: + # 증가 시켜야 할 낮은 자리 수를 발견하면 해당 숫자를 증가시키고 종료. + numbers[e] = numbers[s] + return e + s += 1 + e -= 1 + # 여기까지 왔다는 건, 중간에 증가시킬 숫자가 없어서 s와 e가 가운데 까지 왔다는 뜻. + # e보다 높은 자릿 수 중, 9가 아닌 가장 낮은 자릿 수를 찾아 1 증가시키자. + while numbers[e] == 9: + e -= 1 + s += 1 + numbers[e] += 1 + # 증가시킨 숫자보다 낮은 자리 수들은 0으로 바꿔준다. + for i in range(e+1, s): + numbers[i] = 0 + return e + + +if __name__ == "__main__": + # print(main("12345"), 12421) + # print(main("858"), 868) + # print(main("1999"), 2002) + # print(main("1"), 2) + # print(main("9999"), 10001) + # print(main("4995"), 5005) + # print(main("498"), 505) + # print(main("10001"), 10101) + # print(main("5749201"), 5749475) + # print(main("12012"), 12021) + # print(main("110101"), 111111) + # print(main("4651354631683213233486146513546316832132334861"), "시간 초과 검사용") + print(main(input())) From 8651cb5e27a7859424bcc487e666b9f5349ba5dd Mon Sep 17 00:00:00 2001 From: Hepheir Date: Mon, 4 Mar 2024 04:12:27 +0900 Subject: [PATCH 83/98] =?UTF-8?q?AC(154ms):=20=EC=9E=AC=EA=B7=80=20+=20?= =?UTF-8?q?=EC=A6=9D=EA=B0=80=EC=8B=9C=ED=82=A8=20=EC=88=98=20=EB=A7=88?= =?UTF-8?q?=EC=8A=A4=ED=82=B9=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이전 풀이와 동일한 로직이나, Increase_a_bit 의 라인수를 줄였다. --- ...0\353\223\234\353\241\254 \354\210\230.py" | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" index 15e2ad6..8ea76c5 100644 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" @@ -23,34 +23,28 @@ def make_palindrome(numbers: typing.List[int], s: int = 0, e: int = None, increa # e번째 자리 수 이전에 증가된 숫자가 없을 경우에는 숫자를 낮출 수 없다. # 따라서, 앞자리 수에서 값을 증가시킨 뒤, e번째 숫자를 낮춘다. increased_at = increase_a_bit(numbers, s, e) - numbers[e] = numbers[s] + # s와 e사이에 낀 숫자들 부터 펠린드롬을 맞춰주자. + # 중간에 또 일부 숫자가 증가 할 수도 있으므로, e번째 숫자를 s로 덮어 씌우는 것은 나중에 한다. make_palindrome(numbers, s+1, e-1, increased_at) + numbers[e] = numbers[s] + def increase_a_bit(numbers: typing.List[int], s: int, e: int) -> int: - """펠린드롬을 만들어 가면서 증가 시킬 수 있는 수 중 가장 작은 숫자를 증가시킴. + """[s, e) 구간에서 증가 시킬 수 있는 수 중 가장 작은 숫자를 증가시킴. 증가시킨 수의 인덱스를 반환한다. """ - # 펠린드롬의 양 끝단에서 부터 탐색 시작 - while s < e: - if numbers[s] > numbers[e]: - # 증가 시켜야 할 낮은 자리 수를 발견하면 해당 숫자를 증가시키고 종료. - numbers[e] = numbers[s] - return e - s += 1 - e -= 1 - # 여기까지 왔다는 건, 중간에 증가시킬 숫자가 없어서 s와 e가 가운데 까지 왔다는 뜻. - # e보다 높은 자릿 수 중, 9가 아닌 가장 낮은 자릿 수를 찾아 1 증가시키자. - while numbers[e] == 9: - e -= 1 - s += 1 - numbers[e] += 1 - # 증가시킨 숫자보다 낮은 자리 수들은 0으로 바꿔준다. - for i in range(e+1, s): - numbers[i] = 0 - return e + for i in range(e-1, s-1, -1): + if numbers[i] != 9: + numbers[i] += 1 + # 증가시킨 이후의 숫자는 가장 작은 수(=0)로 맞춰주자. + for j in range(i+1, e): + numbers[j] = 0 + return i + raise ValueError('omg 증가를 시킬 숫자가 없다!!!') + if __name__ == "__main__": From 8559515e440a5f048437c34ced8fea549549a1cb Mon Sep 17 00:00:00 2001 From: Hepheir Date: Mon, 4 Mar 2024 04:15:18 +0900 Subject: [PATCH 84/98] =?UTF-8?q?AC(148ms):=20=EC=9E=AC=EA=B7=80=20+=20?= =?UTF-8?q?=EC=A6=9D=EA=B0=80=EC=8B=9C=ED=82=A8=20=EC=88=98=20=EB=A7=88?= =?UTF-8?q?=EC=8A=A4=ED=82=B9=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이전 풀이와 동일한 로직. 시간이 개선된 이유는 잘 모르겠다. --- ...\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" index 8ea76c5..faa273e 100644 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" @@ -24,11 +24,10 @@ def make_palindrome(numbers: typing.List[int], s: int = 0, e: int = None, increa # 따라서, 앞자리 수에서 값을 증가시킨 뒤, e번째 숫자를 낮춘다. increased_at = increase_a_bit(numbers, s, e) - # s와 e사이에 낀 숫자들 부터 펠린드롬을 맞춰주자. - # 중간에 또 일부 숫자가 증가 할 수도 있으므로, e번째 숫자를 s로 덮어 씌우는 것은 나중에 한다. + numbers[e] = numbers[s] + make_palindrome(numbers, s+1, e-1, increased_at) - numbers[e] = numbers[s] def increase_a_bit(numbers: typing.List[int], s: int, e: int) -> int: From df6ec1c8defb6c41fdd1ef5b982b96e1d3c2fd52 Mon Sep 17 00:00:00 2001 From: weeast1521 Date: Mon, 4 Mar 2024 12:04:16 +0900 Subject: [PATCH 85/98] =?UTF-8?q?=ED=8C=B0=EB=A6=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1254.py" | 7 ++++ .../1334.py" | 33 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" new file mode 100644 index 0000000..41e9916 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" @@ -0,0 +1,7 @@ +import sys +s = sys.stdin.readline().strip() + +for i in range(len(s)): + if s[i:] == s[i:][::-1]: + print(len(s)+i) + break \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" new file mode 100644 index 0000000..86226c6 --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" @@ -0,0 +1,33 @@ +pelin = int(input()) +pelin = pelin + 1 +#1을 더하고 시작하면 홀 짝이 확실히 정해지고 시작 ex)9999 +str_pel = str(pelin) + +list1 = list(map(int,list(str(pelin)))) +num = len(list1) + +if(len(list1) % 2 == 0): + front = str_pel[0:int((num/2))] + rev_front = int(front[::-1]) + back = int(str_pel[int(num/2):]) + if(rev_front >= back): + print(int(front + str(rev_front + 1))) + else: + temp_front = int(front)+1 + temp_rev_front = int(str(temp_front)[::-1]) + print(int(str(temp_front) + str(temp_rev_front))) +else: + front = str_pel[0:int((num-1)/2)] + rev_front = int(front[::-1]) + back = int(str_pel[int((num-1)/2)+1:]) + if(rev_front < back): + if(list1[int((num-1)/2)]==9): + temp_front = int(front) + 1 + temp_rev_front = int(str(temp_front)[::-1]) + list1[int((num-1)/2)] = 0 + print(int(str(temp_front) + '0' + str(temp_rev_front))) + else: + list1[int((num-1)/2)] = list1[int((num-1)/2)] + 1 + print(int(front + str(list1[int((num-1)/2)]) + str(rev_front))) + elif(rev_front >= back): + print(int(front + str(list1[int((num-1)/2)]) + str(rev_front))) \ No newline at end of file From ff1c7779834d4ebe314d8fda161ce623d06ad7f3 Mon Sep 17 00:00:00 2001 From: Hepheir Date: Mon, 4 Mar 2024 12:56:01 +0900 Subject: [PATCH 86/98] =?UTF-8?q?test(1334):=20=EB=B0=98=EB=A1=80=20?= =?UTF-8?q?=EC=B0=BE=EB=8A=94=20=EB=AA=A8=EB=B2=94=EC=82=AC=EB=A1=80=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...260\276\352\270\260 (1334\353\262\210).py" | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" new file mode 100644 index 0000000..fcd12db --- /dev/null +++ "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" @@ -0,0 +1,88 @@ +import typing + + +def main(s: str) -> str: + number = str(int(s)+1) + numbers = list(map(int, number)) + make_palindrome(numbers) + return ''.join(map(str, numbers)) + + +def make_palindrome(numbers: typing.List[int], s: int = 0, e: int = None, increased_at: int = None): + if e is None: + e = len(numbers) - 1 + if increased_at is None: + increased_at = len(numbers) + + if s > e: + # 모든 수를 완성했다는 뜻. + return + + if numbers[s] < numbers[e]: + if increased_at >= e: + # e번째 자리 수 이전에 증가된 숫자가 없을 경우에는 숫자를 낮출 수 없다. + # 따라서, 앞자리 수에서 값을 증가시킨 뒤, e번째 숫자를 낮춘다. + increased_at = increase_a_bit(numbers, s, e) + + numbers[e] = numbers[s] + + make_palindrome(numbers, s+1, e-1, increased_at) + + + +def increase_a_bit(numbers: typing.List[int], s: int, e: int) -> int: + """[s, e) 구간에서 증가 시킬 수 있는 수 중 가장 작은 숫자를 증가시킴. + + 증가시킨 수의 인덱스를 반환한다. + """ + for i in range(e-1, s-1, -1): + if numbers[i] != 9: + numbers[i] += 1 + # 증가시킨 이후의 숫자는 가장 작은 수(=0)로 맞춰주자. + for j in range(i+1, e): + numbers[j] = 0 + return i + raise ValueError('omg 증가를 시킬 숫자가 없다!!!') + + +def dh(S): + pelin = int(S) + pelin = pelin + 1 + #1을 더하고 시작하면 홀 짝이 확실히 정해지고 시작 ex)9999 + str_pel = str(pelin) + + list1 = list(map(int,list(str(pelin)))) + num = len(list1) + + if(len(list1) % 2 == 0): + front = str_pel[0:int((num/2))] + rev_front = int(front[::-1]) + back = int(str_pel[int(num/2):]) + if(rev_front >= back): + return int(front + str(rev_front + 1)) + else: + temp_front = int(front)+1 + temp_rev_front = int(str(temp_front)[::-1]) + return int(str(temp_front) + str(temp_rev_front)) + else: + front = str_pel[0:int((num-1)/2)] + rev_front = int(front[::-1]) + back = int(str_pel[int((num-1)/2)+1:]) + if(rev_front < back): + if(list1[int((num-1)/2)]==9): + temp_front = int(front) + 1 + temp_rev_front = int(str(temp_front)[::-1]) + list1[int((num-1)/2)] = 0 + return int(str(temp_front) + '0' + str(temp_rev_front)) + else: + list1[int((num-1)/2)] = list1[int((num-1)/2)] + 1 + return int(front + str(list1[int((num-1)/2)]) + str(rev_front)) + elif(rev_front >= back): + return int(front + str(list1[int((num-1)/2)]) + str(rev_front)) + +if __name__ == "__main__": + for i in range(10, 10**50): + s = str(i) + if str(main(s)).strip() != str(dh(s)).strip(): + print(s, str(main(s)).strip(), str(dh(s)).strip()) + input() From d027dded8c14dec6e236b7b9c6f03a871e95d776 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Mon, 4 Mar 2024 14:29:13 +0900 Subject: [PATCH 87/98] =?UTF-8?q?12=EC=A3=BC=EC=B0=A8=20=ED=8F=B4=EB=8D=94?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" new file mode 100644 index 0000000..642e2f6 --- /dev/null +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" @@ -0,0 +1,38 @@ +> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 +## 숙제 +|난이도|번호|제목|링크| +|-|-|-|-| +||번||https://www.acmicpc.net/problem/| +||번||https://www.acmicpc.net/problem/| + +## 스터디 진행 중 풀이 +|난이도|번호|제목|링크| +|-----|-----|----------|----------------------------------------| +|난이도|번호|제목|링크| +|골드 4|번||https://www.acmicpc.net/problem/| + + +## 찾아온 문제들 +#### 민기홍 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 김동주 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 정우현 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| + +#### 서동혁 +|난이도|번호|제목|링크| +|-----|-----|---------------------|----------------------------------------| +|골드 4|번||https://www.acmicpc.net/problem/| +|골드 5|번||https://www.acmicpc.net/problem/| From 829fb70c62675f84927d683c5dabd93b854e9771 Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:39:56 +0900 Subject: [PATCH 88/98] =?UTF-8?q?12=EC=A3=BC=EC=B0=A8=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=EC=97=85=EB=A1=9C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 11주차 벌금 관련 내용 회의 및 12주차 문제 업로드 --- .../README.md" | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" index 642e2f6..86bcb2a 100644 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" @@ -1,15 +1,23 @@ > 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 + +> 2024/3/4 회의 내용: +> #### **벌칙 내규:** +> 1. readme에 찾아온 문제가 없을 시 벌금 2천원 +> 2. 스터디 시작까지 문제 풀이 코드 git에 업로드 되어있지 않을 시 벌금 2천원 +> 3. 위 1, 2번 규칙을 위반하였더라도 늦게라도 제출 시 벌금 천원 +> 4. 모든 규칙을 어겼을 시 벌금 최대 4천원 이하 +> 5. 지불한 벌금은 모두 모임통장에서 관리하며 해당 벌금은 팀 회식 때 사용됨 + ## 숙제 |난이도|번호|제목|링크| -|-|-|-|-| -||번||https://www.acmicpc.net/problem/| -||번||https://www.acmicpc.net/problem/| +|-----|-----|---------------------|----------------------------------------| +|실버 3|11659번|[구간 합 구하기 4](https://www.acmicpc.net/problem/11659)|https://www.acmicpc.net/problem/11659| +|골드 4|24838번|[배열 구간합 놀이](https://www.acmicpc.net/problem/24838)|https://www.acmicpc.net/problem/24838| ## 스터디 진행 중 풀이 |난이도|번호|제목|링크| |-----|-----|----------|----------------------------------------| -|난이도|번호|제목|링크| -|골드 4|번||https://www.acmicpc.net/problem/| +|실버 1|11660번|구간 합 구하기 5|https://www.acmicpc.net/problem/11660| ## 찾아온 문제들 From d9f33f19cf7d74a34569774f5d80c0f972062826 Mon Sep 17 00:00:00 2001 From: Hepheir Date: Tue, 5 Mar 2024 21:58:55 +0900 Subject: [PATCH 89/98] =?UTF-8?q?feat(12=EC=A3=BC=EC=B0=A8):=20=EA=B9=80?= =?UTF-8?q?=EB=8F=99=EC=A3=BC=20=EC=B6=94=EC=B2=9C=EB=AC=B8=EC=A0=9C=20?= =?UTF-8?q?=EC=A0=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" index 86bcb2a..b644491 100644 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" @@ -28,10 +28,12 @@ |골드 5|번||https://www.acmicpc.net/problem/| #### 김동주 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +| 난이도 | 번호 | 제목 | 링크 | 푼 적 있음 | +| ------ | ------- | ----------- | -------------------------------- | ---------- | +| S2 | 17086번 | 아기 상어 2 | https://boj.kr/17086 | X | +| G3 | 16236번 | 아기 상어 | https://boj.kr/16236 | O | +| G2 | 19237번 | 어른 상어 | https://boj.kr/19237 | X | +| G2 | 19236번 | 청소년 상어 | https://boj.kr/19236 | X | #### 정우현 |난이도|번호|제목|링크| From eaee9c8776c1f19e5ffb637f89a3c7035de52dfe Mon Sep 17 00:00:00 2001 From: Hepheir Date: Tue, 5 Mar 2024 23:18:02 +0900 Subject: [PATCH 90/98] =?UTF-8?q?AC(2332ms):=20=EA=B5=AC=EA=B0=84=20?= =?UTF-8?q?=ED=8A=B8=EB=A6=AC=EB=A5=BC=20=EC=9D=B4=EC=9A=A9=ED=95=9C=20?= =?UTF-8?q?=ED=92=80=EC=9D=B4=20O((N+M)=20log=20N)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boj_11659_segment_tree.py" | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" new file mode 100644 index 0000000..3207e00 --- /dev/null +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" @@ -0,0 +1,100 @@ +class SegmentTree: + """구간 트리 + + 완전 이진 트리에 기반하며, 부모노드는 자식 노드의 구간 값을 가지고 있다. + 트리의 리프 노드에 구간 질의 대상인 배열을 매핑시킬 경우, O(log N) 시간에 + 구간 질의를 할 수 있다. + + 초기화: O(N log N) + 구간 질의: O(log N) + 갱신: O(log N) + + 코드 구현 REF: + https://www.geeksforgeeks.org/introduction-to-segment-trees-data-structure-and-algorithm-tutorials/ + """ + + def __init__(self, array_size: int): + self.st = [0] * (4 * array_size) + self.array_size = array_size + + def op(self, a: int, b: int) -> int: + """구간에 대해 수행할 작업을 정의하는 함수. + + 지금은 구간 '합' 트리로 사용하기에 더하기 동작을 수행한다. + + ex) 구간 '곱' 트리의 경우 `a * b`로 변경 + """ + return a + b + + def meaningless_value(self) -> int: + """구간 외의 값에 대하여 반환 할 값. + + 지금은 구간 '합' 트리이므로, 더해져도 의미 없는 숫자인 0을 반환한다. + + ex) 구간 '곱' 트리의 경우 `1`로 변경 + """ + return 0 + + def update(self, index: int, value: int): + """배열의 index 번째 값을 value로 바꾼다.""" + self.__update(index, value, 1, 0, self.array_size-1) + + def __update(self, index: int, value: int, tree_index: int, range_start: int, range_end: int): + """특정 인덱스의 값을 변경하고, O(log N) 시간에 캐쉬된 구간 값들을 다시 계산함. + + index: 새로 덮어 쓸 값의 배열 상에서의 인덱스 + value: 새로 덮어 쓸 값 + tree_index: 지금 보고 있는 노드의 세그먼트 트리상에서의 인덱스 + range_start: 지금 보고 있는 노드가 커버하는 구간의 시작 + range_end: 지금 보고 있는 노드가 커버하는 구간의 끝 + """ + if range_start == range_end: + self.st[tree_index] = value + return + range_mid = (range_start + range_end) // 2 + if range_start <= index and index <= range_mid: + self.__update(index, value, self.__lnode_index(tree_index), range_start, range_mid) + else: + self.__update(index, value, self.__rnode_index(tree_index), range_mid+1, range_end) + self.st[tree_index] = self.op(self.st[self.__lnode_index(tree_index)], self.st[self.__rnode_index(tree_index)]) + + def query(self, start: int, end: int) -> int: + """배열의 start 인덱스 부터 end 인덱스 까지의 구간 값을 구한다.""" + return self.__query(start, end, 1, 0, self.array_size-1) + + def __query(self, query_start: int, query_end: int, tree_index: int, range_start: int, range_end: int) -> int: + """사용자가 질의한 특정 구간의 구간 값을, 사전 계산된 구간 트리에서 탐색하여 O(log N)에 구함. + + query_start: 사용자가 질의한 구간의 시작 + query_end: 사용자가 질의한 구간의 끝 + tree_index: 지금 보고 있는 노드의 세그먼트 트리상에서의 인덱스 + range_start: 지금 보고 있는 노드가 커버하는 구간의 시작 + range_end: 지금 보고 있는 노드가 커버하는 구간의 끝 + """ + if range_end < query_start or query_end < range_start: + return self.meaningless_value() + if query_start <= range_start and range_end <= query_end: + return self.st[tree_index] + range_mid = (range_start + range_end) // 2 + lnode = self.__query(query_start, query_end, self.__lnode_index(tree_index), range_start, range_mid) + rnode = self.__query(query_start, query_end, self.__rnode_index(tree_index), range_mid+1, range_end) + return self.op(lnode, rnode) + + def __lnode_index(self, index: int) -> int: + return index << 1 + + def __rnode_index(self, index: int) -> int: + return (index << 1) + 1 + + +if __name__ == "__main__": + import sys + N, M = map(int, sys.stdin.readline().split()) + # 세그먼트 트리 초기화 + st = SegmentTree(N) + for index, value in enumerate(map(int, sys.stdin.readline().split())): + st.update(index, value) + # 구간 질의 시작 + for _ in range(M): + i, j = map(int, sys.stdin.readline().split()) + sys.stdout.write(str(st.query(i-1, j-1))+'\n') From 137a76a84ee35be05092683b9a0ca5ddbe7a13d3 Mon Sep 17 00:00:00 2001 From: Hepheir Date: Tue, 5 Mar 2024 23:18:29 +0900 Subject: [PATCH 91/98] =?UTF-8?q?AC(324ms):=20Prefix=20sum=EC=9D=84=20?= =?UTF-8?q?=EC=9D=B4=EC=9A=A9=ED=95=9C=20=ED=92=80=EC=9D=B4=20O(N=20+=20M)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../boj_11659_prefix_sum.py" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" new file mode 100644 index 0000000..e6ac486 --- /dev/null +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" @@ -0,0 +1,15 @@ +import sys +from typing import * + + +N, M = map(int, sys.stdin.readline().split()) + +# 사전에 계산해두는 acc[i] = 1번째 원소부터 i번째 원소까지의 합. (accumulate) +acc: List[int] = [0] +for value in map(int, sys.stdin.readline().split()): + acc.append(acc[-1] + value) + +# 구간 질의 시작 +for _ in range(M): + i, j = map(int, sys.stdin.readline().split()) + sys.stdout.write(str(acc[j]-acc[i-1])+'\n') From a184521a8a72dea6d3f09854f518eab0abfaecff Mon Sep 17 00:00:00 2001 From: Hepheir Date: Tue, 5 Mar 2024 23:35:44 +0900 Subject: [PATCH 92/98] =?UTF-8?q?docs(13=EC=A3=BC=EC=B0=A8):=20=EB=AF=B8?= =?UTF-8?q?=EB=A6=AC=20=EB=AC=B8=EC=A0=9C=20=EC=B6=94=EC=B2=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 "13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" diff --git "a/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" "b/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" new file mode 100644 index 0000000..64e9b88 --- /dev/null +++ "b/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" @@ -0,0 +1,43 @@ +> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 +## 숙제 +| 난이도 | 번호 | 제목 | 링크 | +| ------ | ---- | ---- | -------------------------------- | +| | 번 | | https://www.acmicpc.net/problem/ | +| | 번 | | https://www.acmicpc.net/problem/ | + +## 스터디 진행 중 풀이 +| 난이도 | 번호 | 제목 | 링크 | +| ------ | ---- | ---- | -------------------------------- | +| 난이도 | 번호 | 제목 | 링크 | +| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | + + +## 찾아온 문제들 +#### 민기홍 +| 난이도 | 번호 | 제목 | 링크 | +| ------ | ---- | ---- | -------------------------------- | +| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | +| 골드 5 | 번 | | https://www.acmicpc.net/problem/ | + +#### 김동주 + +연결 리스트 응용 + +| 난이도 | 번호 | 제목 | 링크 | 김동주의 픽 | +| ------ | ------- | ---------------- | -------------------- | ----------- | +| S2 | 1406번 | 에디터 | https://boj.kr/1406 | 이거 | +| S2 | 5397번 | 키로거 | https://boj.kr/5397 | | +| G5 | 31423번 | 신촌 통폐합 계획 | https://boj.kr/31423 | | +| G4 | 23309번 | 철도 공사 | https://boj.kr/23309 | 이거 | + +#### 정우현 +| 난이도 | 번호 | 제목 | 링크 | +| ------ | ---- | ---- | -------------------------------- | +| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | +| 골드 5 | 번 | | https://www.acmicpc.net/problem/ | + +#### 서동혁 +| 난이도 | 번호 | 제목 | 링크 | +| ------ | ---- | ---- | -------------------------------- | +| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | +| 골드 5 | 번 | | https://www.acmicpc.net/problem/ | From d6a4a8464c41b70da387883fb084228bb1f54607 Mon Sep 17 00:00:00 2001 From: Hepheir Date: Wed, 6 Mar 2024 00:11:31 +0900 Subject: [PATCH 93/98] =?UTF-8?q?docs(12=EC=A3=BC=EC=B0=A8):=20=EB=AF=B8?= =?UTF-8?q?=EB=A6=AC=20=EB=AC=B8=EC=A0=9C=20=EC=B6=94=EC=B2=9C=20+2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" index b644491..981c33c 100644 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" @@ -28,12 +28,34 @@ |골드 5|번||https://www.acmicpc.net/problem/| #### 김동주 -| 난이도 | 번호 | 제목 | 링크 | 푼 적 있음 | -| ------ | ------- | ----------- | -------------------------------- | ---------- | -| S2 | 17086번 | 아기 상어 2 | https://boj.kr/17086 | X | -| G3 | 16236번 | 아기 상어 | https://boj.kr/16236 | O | -| G2 | 19237번 | 어른 상어 | https://boj.kr/19237 | X | -| G2 | 19236번 | 청소년 상어 | https://boj.kr/19236 | X | + +##### 상어 시리즈 + +| 난이도 | 번호 | 제목 | 링크 | 푼 적 있음 | +| ------ | ------- | ----------- | -------------------- | ---------- | +| S2 | 17086번 | 아기 상어 2 | https://boj.kr/17086 | X | +| G3 | 16236번 | 아기 상어 | https://boj.kr/16236 | O | +| G2 | 19237번 | 어른 상어 | https://boj.kr/19237 | X | +| G2 | 19236번 | 청소년 상어 | https://boj.kr/19236 | X | + +##### 연결 리스트 응용 + +| 난이도 | 번호 | 제목 | 링크 | 김동주의 픽 | +| ------ | ------- | ---------------- | -------------------- | ----------- | +| S2 | 1406번 | 에디터 | https://boj.kr/1406 | 이거 | +| S2 | 5397번 | 키로거 | https://boj.kr/5397 | | +| G5 | 31423번 | 신촌 통폐합 계획 | https://boj.kr/31423 | | +| G4 | 23309번 | 철도 공사 | https://boj.kr/23309 | 이거 | + +##### 구간 트리 시리즈 + +*김동주는 아래 두 문제를 모두 풀었음. + +| 난이도 | 번호 | 제목 | 링크 | +| ------ | ------- | -------------- | -------------------- | +| G1 | 2042번 | 구간 합 구하기 | https://boj.kr/2042 | +| G1 | 11505번 | 구간 곱 구하기 | https://boj.kr/11505 | + #### 정우현 |난이도|번호|제목|링크| From 74a5b3edd1e1600e598c99b3036a49a405ee442b Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Wed, 6 Mar 2024 12:21:10 +0900 Subject: [PATCH 94/98] =?UTF-8?q?13=EC=A3=BC=EC=B0=A8=20=EA=B0=81=EC=9E=90?= =?UTF-8?q?=20=ED=8F=B4=EB=8D=94=20=EC=B6=94=EA=B0=80(=EB=AF=BC=EA=B8=B0?= =?UTF-8?q?=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\257\274\352\270\260\355\231\215/testfile.txt" | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/\353\257\274\352\270\260\355\231\215/testfile.txt" diff --git "a/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/\353\257\274\352\270\260\355\231\215/testfile.txt" "b/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/\353\257\274\352\270\260\355\231\215/testfile.txt" new file mode 100644 index 0000000..e69de29 From d03fa00589695f77366bd4e1b73dddcbe985dd8c Mon Sep 17 00:00:00 2001 From: doctorwho14 <68215269+doctorwho14@users.noreply.github.com> Date: Wed, 6 Mar 2024 12:50:42 +0900 Subject: [PATCH 95/98] =?UTF-8?q?12=EC=A3=BC=EC=B0=A8=20=EB=AC=B8=EC=A0=9C?= =?UTF-8?q?=20=EC=B0=BE=EA=B8=B0(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" index 981c33c..15bb310 100644 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" @@ -22,10 +22,11 @@ ## 찾아온 문제들 #### 민기홍 +##### 시뮬레이션 시리즈 |난이도|번호|제목|링크| |-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| +| G5 | 14503번 | 로봇 청소기 | https://boj.kr/14503 | +| G2 | 12100번 | 2048 (Easy)| https://boj.kr/12100 | #### 김동주 From f09bcd86ebda0147996270c5e0e7f1508c2a2bdf Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Thu, 7 Mar 2024 14:39:17 +0900 Subject: [PATCH 96/98] =?UTF-8?q?11659=20=ED=92=80=EC=9D=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../11659.py" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" new file mode 100644 index 0000000..c269b3e --- /dev/null +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" @@ -0,0 +1,15 @@ +N, M = map(int, input().split()) # N:수의 개수, M: testcase 횟수 +num_list = list(map(int, input().split())) # 크기가 N인 숫자 리스트 +test_case = [] +perfix_sum = [0] + +temp = 0 +for _ in range(N): + temp += num_list[_] + perfix_sum.append(temp) + +for _ in range(M): + test_case.append(list(map(int, input().split()))) + +for _ in range(M): + print(perfix_sum[test_case[_][1]] - perfix_sum[test_case[_][0]-1]) From 33db50623b4eccab24eee293565f7fb11ea66632 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Fri, 8 Mar 2024 10:10:02 +0900 Subject: [PATCH 97/98] =?UTF-8?q?24838=20=EC=8B=9C=EA=B0=84=EC=B4=88?= =?UTF-8?q?=EA=B3=BC=20=EB=82=9C=20=20=ED=92=80=EC=9D=B4(=EB=AF=BC?= =?UTF-8?q?=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../24838 TLE.py" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" new file mode 100644 index 0000000..96cc3d4 --- /dev/null +++ "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" @@ -0,0 +1,40 @@ +import math + +result = [] +def prefix_func(): + n, m = map(int, input().split()) # n:배열길이 / m:부분합 개수 + A = list(map(int, input().split())) # A:n개의 원소를 가진 배열 + prefix_index = [] # prefix_sum: 입력한 부분합의 범위 m개가 담긴 리스트 + overlap = [0 for i in range(n)] # 부분합에서 겹치는 부분 + A.sort() + + total = 0 # 총합의 최대 + counting = 1 # 가능한 경우의 수 + + for i in range(m): # 부분합을 prefix_sum에 담기 + prefix_index.append(list(map(int, input().split()))) + for _ in range(prefix_index[i][0] - 1, prefix_index[i][1]): + overlap[_] += 1 + + for _ in reversed(list(set(overlap))): + overlap_count = overlap.count(_) # 겹친 부분 개수 + counting *= (math.factorial(overlap_count)) % int(1e9 + 7) + if _ > 0: + for i in range(overlap_count): + total += _ * A[n - 1] + if i != overlap_count - 1: + n -= 1 + n -= 1 + + result.append([total, counting]) + return 0 + +T = int(input()) # test case 수 + +for test_case in range(T): + prefix_func() + +for _ in range(T): + print(result[_][0], end=" ") + print(result[_][1]) + From c9635f2a9cef52340fa934337fe7c2a95a908831 Mon Sep 17 00:00:00 2001 From: doctorwho14 Date: Fri, 8 Mar 2024 13:09:11 +0900 Subject: [PATCH 98/98] =?UTF-8?q?=EC=8B=9C=EC=A6=8C1=20=EB=A0=88=ED=8F=AC?= =?UTF-8?q?=20=EC=A0=95=EB=A6=AC(=EB=AF=BC=EA=B8=B0=ED=99=8D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../README.md" | 44 -------- ...4 \353\247\214\353\223\244\352\270\260.py" | 26 ----- ...0\353\223\234\353\241\254 \354\210\230.py" | 62 ----------- ...260\276\352\270\260 (1334\353\262\210).py" | 88 --------------- .../1254.py" | 6 -- .../1334 TLE.py" | 11 -- .../1334.py" | 24 ----- .../9251 LCS.py" | 31 ------ .../\355\222\200\354\235\264.md" | 36 ------- .../1254.py" | 7 -- .../1334.py" | 33 ------ .../1254.py" | 23 ---- .../1254_2.py" | 7 -- .../1334.py" | 40 ------- .../1334_timeover.py" | 16 --- .../README.md" | 71 ------------- .../boj_11659_prefix_sum.py" | 15 --- .../boj_11659_segment_tree.py" | 100 ------------------ .../11659.py" | 15 --- .../24838 TLE.py" | 40 ------- .../README.md" | 43 -------- .../testfile.txt" | 0 22 files changed, 738 deletions(-) delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" delete mode 100644 "11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" delete mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" delete mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" delete mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" delete mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" delete mode 100644 "12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" delete mode 100644 "13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" delete mode 100644 "13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/\353\257\274\352\270\260\355\231\215/testfile.txt" diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" deleted file mode 100644 index bb0360c..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/README.md" +++ /dev/null @@ -1,44 +0,0 @@ -> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 - -> 2024/2/12 회의 내용: -> 1. 2/19 (월) -> LCS 문제 깃에 제출 -> 2. 2/26 (월) -> 문제 선정 및 스터디 날짜 선정 -> 3. 개강 -> LCS과 선정한 문제 풀이 - -> **2024/2/28 회의 내용:** -> 1. 스터디 진행 요일: 월요일 12:00 ~ 14:00 -> 2. 문제 수: 2문제 (비슷한 알고리즘 유형 선호) -> 3. 문제 난이도: 실버 2 ~ 골드 4 정도로 진행 예정 -> 4. 스터디 진행 날 문제 풀어보는 건 해보고 하기로 결정 -> 5. 아이디어: 한 사람씩 문제 정해서 난이도 비공개로 해놓고 셔플해서 코테 형식으로 풀이 - -## 숙제 -|난이도|번호|제목|링크| -|-|-|-|-| -|실버 2|1254번|팰린드롭 만들기|https://www.acmicpc.net/problem/1254| -|골드 5|1334번|다음 팰린드롬 수|https://www.acmicpc.net/problem/1334| - -## 찾아온 문제들 -#### 민기홍 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|실버 1|11660번|구간 합 구하기 5|https://www.acmicpc.net/problem/11660| -|골드 4|1806번|부분합|https://www.acmicpc.net/problem/1806| - -#### 김동주 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|실버 3|11659번|[구간 합 구하기 4](https://www.acmicpc.net/problem/11659)|https://www.acmicpc.net/problem/11659| -|골드 4|24838번|[배열 구간합 놀이](https://www.acmicpc.net/problem/24838)|https://www.acmicpc.net/problem/24838| - -#### 정우현 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| - -#### 서동혁 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" deleted file mode 100644 index acd3ee2..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1254\353\262\210 \355\214\260\353\246\260\353\223\234\353\241\254 \353\247\214\353\223\244\352\270\260.py" +++ /dev/null @@ -1,26 +0,0 @@ -def main(S: str) -> int: - # O(N^2) - for s in range(len(S)): - # s 번째 원소부터 마지막 글자까지 팰린드롬인지 본다. - if is_palindrome(S, s, len(S)-1): - # [0,s) 구간의 문자 s개를 뒤집어서 S의 뒤에 붙여주면 팰린드롬이 된다. - return len(S) + s - # `s`가 `len(S)-1`과 같은 길이 1의 문자열이면 무조건 팰린드롬일 텐데, - # 여기까지 프로그램이 도달했다는 건 분명 내 코드에 논리적인 문제가 있는 것이다. - raise ArithmeticError - - -def is_palindrome(string: str, start: int, end: int): - # 문자열이 좌우 대칭인지 검사. O(N) - for offset in range((end-start+1)//2): - if string[start+offset] != string[end-offset]: - return False - return True - - -if __name__ == "__main__": - # print(main("abab"), 5) - # print(main("abacaba"), 7) - # print(main("qwerty"), 11) - # print(main("abdfhdyrbdbsdfghjkllkjhgfds"), 38) - print(main(input())) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" deleted file mode 100644 index faa273e..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\352\271\200\353\217\231\354\243\274/1334\353\262\210 \353\213\244\354\235\214 \355\214\260\353\246\260\353\223\234\353\241\254 \354\210\230.py" +++ /dev/null @@ -1,62 +0,0 @@ -import typing - - -def main(s: str) -> str: - number = str(int(s)+1) - numbers = list(map(int, number)) - make_palindrome(numbers) - return ''.join(map(str, numbers)) - - -def make_palindrome(numbers: typing.List[int], s: int = 0, e: int = None, increased_at: int = None): - if e is None: - e = len(numbers) - 1 - if increased_at is None: - increased_at = len(numbers) - - if s > e: - # 모든 수를 완성했다는 뜻. - return - - if numbers[s] < numbers[e]: - if increased_at >= e: - # e번째 자리 수 이전에 증가된 숫자가 없을 경우에는 숫자를 낮출 수 없다. - # 따라서, 앞자리 수에서 값을 증가시킨 뒤, e번째 숫자를 낮춘다. - increased_at = increase_a_bit(numbers, s, e) - - numbers[e] = numbers[s] - - make_palindrome(numbers, s+1, e-1, increased_at) - - - -def increase_a_bit(numbers: typing.List[int], s: int, e: int) -> int: - """[s, e) 구간에서 증가 시킬 수 있는 수 중 가장 작은 숫자를 증가시킴. - - 증가시킨 수의 인덱스를 반환한다. - """ - for i in range(e-1, s-1, -1): - if numbers[i] != 9: - numbers[i] += 1 - # 증가시킨 이후의 숫자는 가장 작은 수(=0)로 맞춰주자. - for j in range(i+1, e): - numbers[j] = 0 - return i - raise ValueError('omg 증가를 시킬 숫자가 없다!!!') - - - -if __name__ == "__main__": - # print(main("12345"), 12421) - # print(main("858"), 868) - # print(main("1999"), 2002) - # print(main("1"), 2) - # print(main("9999"), 10001) - # print(main("4995"), 5005) - # print(main("498"), 505) - # print(main("10001"), 10101) - # print(main("5749201"), 5749475) - # print(main("12012"), 12021) - # print(main("110101"), 111111) - # print(main("4651354631683213233486146513546316832132334861"), "시간 초과 검사용") - print(main(input())) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" deleted file mode 100644 index fcd12db..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\217\231\355\230\201\354\235\264\354\235\230 \353\260\230\353\241\200\354\260\276\352\270\260 (1334\353\262\210).py" +++ /dev/null @@ -1,88 +0,0 @@ -import typing - - -def main(s: str) -> str: - number = str(int(s)+1) - numbers = list(map(int, number)) - make_palindrome(numbers) - return ''.join(map(str, numbers)) - - -def make_palindrome(numbers: typing.List[int], s: int = 0, e: int = None, increased_at: int = None): - if e is None: - e = len(numbers) - 1 - if increased_at is None: - increased_at = len(numbers) - - if s > e: - # 모든 수를 완성했다는 뜻. - return - - if numbers[s] < numbers[e]: - if increased_at >= e: - # e번째 자리 수 이전에 증가된 숫자가 없을 경우에는 숫자를 낮출 수 없다. - # 따라서, 앞자리 수에서 값을 증가시킨 뒤, e번째 숫자를 낮춘다. - increased_at = increase_a_bit(numbers, s, e) - - numbers[e] = numbers[s] - - make_palindrome(numbers, s+1, e-1, increased_at) - - - -def increase_a_bit(numbers: typing.List[int], s: int, e: int) -> int: - """[s, e) 구간에서 증가 시킬 수 있는 수 중 가장 작은 숫자를 증가시킴. - - 증가시킨 수의 인덱스를 반환한다. - """ - for i in range(e-1, s-1, -1): - if numbers[i] != 9: - numbers[i] += 1 - # 증가시킨 이후의 숫자는 가장 작은 수(=0)로 맞춰주자. - for j in range(i+1, e): - numbers[j] = 0 - return i - raise ValueError('omg 증가를 시킬 숫자가 없다!!!') - - -def dh(S): - pelin = int(S) - pelin = pelin + 1 - #1을 더하고 시작하면 홀 짝이 확실히 정해지고 시작 ex)9999 - str_pel = str(pelin) - - list1 = list(map(int,list(str(pelin)))) - num = len(list1) - - if(len(list1) % 2 == 0): - front = str_pel[0:int((num/2))] - rev_front = int(front[::-1]) - back = int(str_pel[int(num/2):]) - if(rev_front >= back): - return int(front + str(rev_front + 1)) - else: - temp_front = int(front)+1 - temp_rev_front = int(str(temp_front)[::-1]) - return int(str(temp_front) + str(temp_rev_front)) - else: - front = str_pel[0:int((num-1)/2)] - rev_front = int(front[::-1]) - back = int(str_pel[int((num-1)/2)+1:]) - if(rev_front < back): - if(list1[int((num-1)/2)]==9): - temp_front = int(front) + 1 - temp_rev_front = int(str(temp_front)[::-1]) - list1[int((num-1)/2)] = 0 - return int(str(temp_front) + '0' + str(temp_rev_front)) - else: - list1[int((num-1)/2)] = list1[int((num-1)/2)] + 1 - return int(front + str(list1[int((num-1)/2)]) + str(rev_front)) - elif(rev_front >= back): - return int(front + str(list1[int((num-1)/2)]) + str(rev_front)) - -if __name__ == "__main__": - for i in range(10, 10**50): - s = str(i) - if str(main(s)).strip() != str(dh(s)).strip(): - print(s, str(main(s)).strip(), str(dh(s)).strip()) - input() diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" deleted file mode 100644 index 4244bb9..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1254.py" +++ /dev/null @@ -1,6 +0,0 @@ -S = input() - -for i in range(len(S)): - if S[i:] == S[i:][::-1]: - print(len(S)+i) - break \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" deleted file mode 100644 index 4909db8..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334 TLE.py" +++ /dev/null @@ -1,11 +0,0 @@ -N = int(input()) -S = str(N+1) -def palindrom(S): - if S[0:] == S[0:][::-1]: - return 0 - return 1 - -while palindrom(S): - N = N+1 - S = str(N) -print(S) \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" deleted file mode 100644 index c6e3715..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/1334.py" +++ /dev/null @@ -1,24 +0,0 @@ -N = int(input()) -N = N+1 -S = [] - -temp = str(N) -for i in range(len(temp)): - S.append(int(temp[i])) - -for i in range(len(S)//2): - if S[i] != S[len(S)-1-i]: - if S[i] < S[len(S)-1-i]: - if S[len(S) - i - 2] < 9: - S[len(S) - i - 2] = S[len(S) - i - 2] + 1 - else: #12991, 4995에 대한 반례 해결 - j = 0 - while (S[len(S) - i - 2 - j] + 1) // 10: - S[len(S) - i - 2 - j] = 0 - j = j + 1 - S[len(S) - i - 2 - j] = S[len(S) - i - 2 - j] + 1 - - S[len(S)-1-i] = S[i] - -for i in range(len(S)): - print(S[i], end="") diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" deleted file mode 100644 index 300c02a..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/9251 LCS.py" +++ /dev/null @@ -1,31 +0,0 @@ -s1 = input() -s2 = input() -L1 = [] -L2 = [] -maximum1 = 0 -maximum2 = 0 -now = 0 - -for _ in range(len(s1)): - L1.append(s1[_]) -for _ in range(len(s2)): - L2.append(s2[_]) - -for i in range(len(L1)): - for j in range(now, len(L2)): - if L1[i] == L2[j]: - maximum1 += 1 - now = j - break -now = 0 - -for i in range(len(L2)): - for j in range(now, len(L1)): - if L2[i] == L1[j]: - maximum2 += 1 - now = j - break - -maximum = max(maximum1, maximum2) - -print(maximum) \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" deleted file mode 100644 index e706e98..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\353\257\274\352\270\260\355\231\215/\355\222\200\354\235\264.md" +++ /dev/null @@ -1,36 +0,0 @@ -# 풀이 - -## 1254 팰린드롬 만들기 - -> 시도 횟수: 1
-> 풀이 시간: 1h
-> 블로그 참고여부: O
-> 참고한 블로그: https://velog.io/@sugenius77/%EB%B0%B1%EC%A4%80Python-1254%EB%B2%88-%ED%8C%B0%EB%A6%B0%EB%93%9C%EB%A1%AC-%EB%A7%8C%EB%93%A4%EA%B8%B0
- -## 1334 다음 팰린드롬 수 - -> 시도 횟수:
-> image
-> 풀이 시간: 2h
-> 블로그 참고여부: X
->
-> ### 시행착오:
-> 파일 "1334 TLE.py"가 시간초과가 난 코드이다. 위의 1254문제 때문에 참고한 블로그를 바탕으로 코드를 짰는데 해당 방식이 숫자를 1씩 더하면서 계속 회문인지 확인하기 때문에 비효율적이고 오래걸리는 단점 때문에 시간초과가 났다.
-> 방식을 바꿔 조거문을 하나씩 붙여가면서 생각해보기로 했다.
-> 먼저 숫자의 가운데를 기준으로 양쪽 끝의 숫자를 동일하게 만들어 준다.

-> #### 예시) **1**234**5** -> **1**234**1**

-> 위의 경우는 12345에서 일의 자리인 5에 6을 더해서 1로 만들어줬다고 가정한 것이기에 십의 자리인 4에 1을 더해준다.

-> #### 예시) 123**4**1 -> 123**5**1

-> 만약 예시가 반대로 54321이라면 일의 자리를 5로 바꿔주기만 하면 된다.
-> 이런식으로 코드를 짰을 때 입력 예제를 입력했을 때 문제가 없었다. 하지만 문제는 숫자 9에서 1을 더했을 때 생겼다.

-> 반례)
-> input: 4995
-> output: 410104
-> answer: 5005

-> 입력 받는 숫자는 회문이 맞는지 비교가 필요하기에 4995의 다음 큰 수인 4996을 리스트에 따로 넣었다.
-> input int 4995 -> +1 -> 문자열로 변환 -> 자릿수로 분해해서 list에 숫자로 저장 -> N = [4, 9, 9, 6]
-> 그래서 9에 1을 더하면 10이기에
-> [4, 9, **9 + 1**, 6] -> [4, 9, **10**, 6]
->
-> ### 해결:
-> 9가 10이 될 때 다음 자릿수에 영향을 미치는 것에 대해 다음 자릿수도 9인 것을 감안하여 예외처리를 해서 해결했음.
diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" deleted file mode 100644 index 41e9916..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1254.py" +++ /dev/null @@ -1,7 +0,0 @@ -import sys -s = sys.stdin.readline().strip() - -for i in range(len(s)): - if s[i:] == s[i:][::-1]: - print(len(s)+i) - break \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" deleted file mode 100644 index 86226c6..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\204\234\353\217\231\355\230\201/1334.py" +++ /dev/null @@ -1,33 +0,0 @@ -pelin = int(input()) -pelin = pelin + 1 -#1을 더하고 시작하면 홀 짝이 확실히 정해지고 시작 ex)9999 -str_pel = str(pelin) - -list1 = list(map(int,list(str(pelin)))) -num = len(list1) - -if(len(list1) % 2 == 0): - front = str_pel[0:int((num/2))] - rev_front = int(front[::-1]) - back = int(str_pel[int(num/2):]) - if(rev_front >= back): - print(int(front + str(rev_front + 1))) - else: - temp_front = int(front)+1 - temp_rev_front = int(str(temp_front)[::-1]) - print(int(str(temp_front) + str(temp_rev_front))) -else: - front = str_pel[0:int((num-1)/2)] - rev_front = int(front[::-1]) - back = int(str_pel[int((num-1)/2)+1:]) - if(rev_front < back): - if(list1[int((num-1)/2)]==9): - temp_front = int(front) + 1 - temp_rev_front = int(str(temp_front)[::-1]) - list1[int((num-1)/2)] = 0 - print(int(str(temp_front) + '0' + str(temp_rev_front))) - else: - list1[int((num-1)/2)] = list1[int((num-1)/2)] + 1 - print(int(front + str(list1[int((num-1)/2)]) + str(rev_front))) - elif(rev_front >= back): - print(int(front + str(list1[int((num-1)/2)]) + str(rev_front))) \ No newline at end of file diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" deleted file mode 100644 index d68ee2d..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254.py" +++ /dev/null @@ -1,23 +0,0 @@ -str = str(input()) -strarr = list(str) - -def is_prdrop(strarr): - w = len(strarr)//2 - for i in range(w): - for j in range(len(strarr)-1,w,-1): - if strarr[i] == strarr[j]: - i += 1 - else: - return False - return True - - - -def prdrop(strarr): - if is_prdrop(strarr): - print(strarr) - else: - - -prdrop(strarr) - diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" deleted file mode 100644 index e85621c..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1254_2.py" +++ /dev/null @@ -1,7 +0,0 @@ -import sys -s = sys.stdin.readline().strip() - -for i in range(len(s)): - if s[i:] == s[i:][::-1]: - print(len(s)+i) - break diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" deleted file mode 100644 index 0abf2b4..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334.py" +++ /dev/null @@ -1,40 +0,0 @@ -n=input() -#한자리 수 일 때 처 -if len(n)==1: - n=int(n) - if n==9: - print(11) - else: - print(n+1) -#홀수인 경우 -elif len(n)&1: - a=int(n[:len(n)//2][::-1]) - b=int(n[len(n)//2+1:]) - if a>b: - #앞에서부터 중앙수 까지의 수와 뒤에서부터 주앙수까지의 숫자 중 - #앞이 더 클 때 뒤에 수를 앞에서부터 카운트 한 것을 거꾸로 붙여준다. - print(n[:len(n)//2]+n[len(n)//2]+n[:len(n)//2][::-1]) - else: - #반대인데 중앙 수가 9인 경우 - if int(n[len(n)//2])==9: - c=str(int(n[:len(n)//2])+1) - if len(c)==len(n[:len(n)//2]): - print(c+"0"+c[::-1]) - elif len(c)>len(n[:len(n)//2]): - print(c+c[::-1]) - else: - #특별한 경우가 아니면 주앙수에 1을 더해주고 위와 동일하게 한다. - print(n[:len(n)//2]+str(int(n[len(n)//2])+1)+n[:len(n)//2][::-1]) -#짝수인 경우 -else: - a=int(n[:len(n)//2][::-1]) - b=int(n[len(n)//2:]) - if a>b: - #앞부분이 더 크면 그대로 뒤집어서 붙여준다. - print(n[:len(n)//2]+n[:len(n)//2][::-1]) - else: - c=str(int(n[:len(n)//2])+1) - if len(c)==len(n[:len(n)//2]): - print(c+c[::-1]) - elif len(c)>len(n[:len(n)//2]): - print(c+c[::-1][1:]) diff --git "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" "b/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" deleted file mode 100644 index c3c869b..0000000 --- "a/11\354\243\274\354\260\250 \355\214\260\353\246\260\353\223\234\353\241\254/\354\240\225\354\232\260\355\230\204/1334_timeover.py" +++ /dev/null @@ -1,16 +0,0 @@ -def is_prdrop(N): - if str(N) == str(N)[::-1]: - return N - else: - return False - -def prdrop(N): - while True: - N += 1 - if is_prdrop(N): - return N - -N = int(input()) -r = prdrop(N) -print(r) - diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" deleted file mode 100644 index 15bb310..0000000 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/README.md" +++ /dev/null @@ -1,71 +0,0 @@ -> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 - -> 2024/3/4 회의 내용: -> #### **벌칙 내규:** -> 1. readme에 찾아온 문제가 없을 시 벌금 2천원 -> 2. 스터디 시작까지 문제 풀이 코드 git에 업로드 되어있지 않을 시 벌금 2천원 -> 3. 위 1, 2번 규칙을 위반하였더라도 늦게라도 제출 시 벌금 천원 -> 4. 모든 규칙을 어겼을 시 벌금 최대 4천원 이하 -> 5. 지불한 벌금은 모두 모임통장에서 관리하며 해당 벌금은 팀 회식 때 사용됨 - -## 숙제 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|실버 3|11659번|[구간 합 구하기 4](https://www.acmicpc.net/problem/11659)|https://www.acmicpc.net/problem/11659| -|골드 4|24838번|[배열 구간합 놀이](https://www.acmicpc.net/problem/24838)|https://www.acmicpc.net/problem/24838| - -## 스터디 진행 중 풀이 -|난이도|번호|제목|링크| -|-----|-----|----------|----------------------------------------| -|실버 1|11660번|구간 합 구하기 5|https://www.acmicpc.net/problem/11660| - - -## 찾아온 문제들 -#### 민기홍 -##### 시뮬레이션 시리즈 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -| G5 | 14503번 | 로봇 청소기 | https://boj.kr/14503 | -| G2 | 12100번 | 2048 (Easy)| https://boj.kr/12100 | - -#### 김동주 - -##### 상어 시리즈 - -| 난이도 | 번호 | 제목 | 링크 | 푼 적 있음 | -| ------ | ------- | ----------- | -------------------- | ---------- | -| S2 | 17086번 | 아기 상어 2 | https://boj.kr/17086 | X | -| G3 | 16236번 | 아기 상어 | https://boj.kr/16236 | O | -| G2 | 19237번 | 어른 상어 | https://boj.kr/19237 | X | -| G2 | 19236번 | 청소년 상어 | https://boj.kr/19236 | X | - -##### 연결 리스트 응용 - -| 난이도 | 번호 | 제목 | 링크 | 김동주의 픽 | -| ------ | ------- | ---------------- | -------------------- | ----------- | -| S2 | 1406번 | 에디터 | https://boj.kr/1406 | 이거 | -| S2 | 5397번 | 키로거 | https://boj.kr/5397 | | -| G5 | 31423번 | 신촌 통폐합 계획 | https://boj.kr/31423 | | -| G4 | 23309번 | 철도 공사 | https://boj.kr/23309 | 이거 | - -##### 구간 트리 시리즈 - -*김동주는 아래 두 문제를 모두 풀었음. - -| 난이도 | 번호 | 제목 | 링크 | -| ------ | ------- | -------------- | -------------------- | -| G1 | 2042번 | 구간 합 구하기 | https://boj.kr/2042 | -| G1 | 11505번 | 구간 곱 구하기 | https://boj.kr/11505 | - - -#### 정우현 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| - -#### 서동혁 -|난이도|번호|제목|링크| -|-----|-----|---------------------|----------------------------------------| -|골드 4|번||https://www.acmicpc.net/problem/| -|골드 5|번||https://www.acmicpc.net/problem/| diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" deleted file mode 100644 index e6ac486..0000000 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_prefix_sum.py" +++ /dev/null @@ -1,15 +0,0 @@ -import sys -from typing import * - - -N, M = map(int, sys.stdin.readline().split()) - -# 사전에 계산해두는 acc[i] = 1번째 원소부터 i번째 원소까지의 합. (accumulate) -acc: List[int] = [0] -for value in map(int, sys.stdin.readline().split()): - acc.append(acc[-1] + value) - -# 구간 질의 시작 -for _ in range(M): - i, j = map(int, sys.stdin.readline().split()) - sys.stdout.write(str(acc[j]-acc[i-1])+'\n') diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" deleted file mode 100644 index 3207e00..0000000 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\352\271\200\353\217\231\354\243\274/boj_11659_segment_tree.py" +++ /dev/null @@ -1,100 +0,0 @@ -class SegmentTree: - """구간 트리 - - 완전 이진 트리에 기반하며, 부모노드는 자식 노드의 구간 값을 가지고 있다. - 트리의 리프 노드에 구간 질의 대상인 배열을 매핑시킬 경우, O(log N) 시간에 - 구간 질의를 할 수 있다. - - 초기화: O(N log N) - 구간 질의: O(log N) - 갱신: O(log N) - - 코드 구현 REF: - https://www.geeksforgeeks.org/introduction-to-segment-trees-data-structure-and-algorithm-tutorials/ - """ - - def __init__(self, array_size: int): - self.st = [0] * (4 * array_size) - self.array_size = array_size - - def op(self, a: int, b: int) -> int: - """구간에 대해 수행할 작업을 정의하는 함수. - - 지금은 구간 '합' 트리로 사용하기에 더하기 동작을 수행한다. - - ex) 구간 '곱' 트리의 경우 `a * b`로 변경 - """ - return a + b - - def meaningless_value(self) -> int: - """구간 외의 값에 대하여 반환 할 값. - - 지금은 구간 '합' 트리이므로, 더해져도 의미 없는 숫자인 0을 반환한다. - - ex) 구간 '곱' 트리의 경우 `1`로 변경 - """ - return 0 - - def update(self, index: int, value: int): - """배열의 index 번째 값을 value로 바꾼다.""" - self.__update(index, value, 1, 0, self.array_size-1) - - def __update(self, index: int, value: int, tree_index: int, range_start: int, range_end: int): - """특정 인덱스의 값을 변경하고, O(log N) 시간에 캐쉬된 구간 값들을 다시 계산함. - - index: 새로 덮어 쓸 값의 배열 상에서의 인덱스 - value: 새로 덮어 쓸 값 - tree_index: 지금 보고 있는 노드의 세그먼트 트리상에서의 인덱스 - range_start: 지금 보고 있는 노드가 커버하는 구간의 시작 - range_end: 지금 보고 있는 노드가 커버하는 구간의 끝 - """ - if range_start == range_end: - self.st[tree_index] = value - return - range_mid = (range_start + range_end) // 2 - if range_start <= index and index <= range_mid: - self.__update(index, value, self.__lnode_index(tree_index), range_start, range_mid) - else: - self.__update(index, value, self.__rnode_index(tree_index), range_mid+1, range_end) - self.st[tree_index] = self.op(self.st[self.__lnode_index(tree_index)], self.st[self.__rnode_index(tree_index)]) - - def query(self, start: int, end: int) -> int: - """배열의 start 인덱스 부터 end 인덱스 까지의 구간 값을 구한다.""" - return self.__query(start, end, 1, 0, self.array_size-1) - - def __query(self, query_start: int, query_end: int, tree_index: int, range_start: int, range_end: int) -> int: - """사용자가 질의한 특정 구간의 구간 값을, 사전 계산된 구간 트리에서 탐색하여 O(log N)에 구함. - - query_start: 사용자가 질의한 구간의 시작 - query_end: 사용자가 질의한 구간의 끝 - tree_index: 지금 보고 있는 노드의 세그먼트 트리상에서의 인덱스 - range_start: 지금 보고 있는 노드가 커버하는 구간의 시작 - range_end: 지금 보고 있는 노드가 커버하는 구간의 끝 - """ - if range_end < query_start or query_end < range_start: - return self.meaningless_value() - if query_start <= range_start and range_end <= query_end: - return self.st[tree_index] - range_mid = (range_start + range_end) // 2 - lnode = self.__query(query_start, query_end, self.__lnode_index(tree_index), range_start, range_mid) - rnode = self.__query(query_start, query_end, self.__rnode_index(tree_index), range_mid+1, range_end) - return self.op(lnode, rnode) - - def __lnode_index(self, index: int) -> int: - return index << 1 - - def __rnode_index(self, index: int) -> int: - return (index << 1) + 1 - - -if __name__ == "__main__": - import sys - N, M = map(int, sys.stdin.readline().split()) - # 세그먼트 트리 초기화 - st = SegmentTree(N) - for index, value in enumerate(map(int, sys.stdin.readline().split())): - st.update(index, value) - # 구간 질의 시작 - for _ in range(M): - i, j = map(int, sys.stdin.readline().split()) - sys.stdout.write(str(st.query(i-1, j-1))+'\n') diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" deleted file mode 100644 index c269b3e..0000000 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/11659.py" +++ /dev/null @@ -1,15 +0,0 @@ -N, M = map(int, input().split()) # N:수의 개수, M: testcase 횟수 -num_list = list(map(int, input().split())) # 크기가 N인 숫자 리스트 -test_case = [] -perfix_sum = [0] - -temp = 0 -for _ in range(N): - temp += num_list[_] - perfix_sum.append(temp) - -for _ in range(M): - test_case.append(list(map(int, input().split()))) - -for _ in range(M): - print(perfix_sum[test_case[_][1]] - perfix_sum[test_case[_][0]-1]) diff --git "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" "b/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" deleted file mode 100644 index 96cc3d4..0000000 --- "a/12\354\243\274\354\260\250 \352\265\254\352\260\204\355\225\251/\353\257\274\352\270\260\355\231\215/24838 TLE.py" +++ /dev/null @@ -1,40 +0,0 @@ -import math - -result = [] -def prefix_func(): - n, m = map(int, input().split()) # n:배열길이 / m:부분합 개수 - A = list(map(int, input().split())) # A:n개의 원소를 가진 배열 - prefix_index = [] # prefix_sum: 입력한 부분합의 범위 m개가 담긴 리스트 - overlap = [0 for i in range(n)] # 부분합에서 겹치는 부분 - A.sort() - - total = 0 # 총합의 최대 - counting = 1 # 가능한 경우의 수 - - for i in range(m): # 부분합을 prefix_sum에 담기 - prefix_index.append(list(map(int, input().split()))) - for _ in range(prefix_index[i][0] - 1, prefix_index[i][1]): - overlap[_] += 1 - - for _ in reversed(list(set(overlap))): - overlap_count = overlap.count(_) # 겹친 부분 개수 - counting *= (math.factorial(overlap_count)) % int(1e9 + 7) - if _ > 0: - for i in range(overlap_count): - total += _ * A[n - 1] - if i != overlap_count - 1: - n -= 1 - n -= 1 - - result.append([total, counting]) - return 0 - -T = int(input()) # test case 수 - -for test_case in range(T): - prefix_func() - -for _ in range(T): - print(result[_][0], end=" ") - print(result[_][1]) - diff --git "a/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" "b/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" deleted file mode 100644 index 64e9b88..0000000 --- "a/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/README.md" +++ /dev/null @@ -1,43 +0,0 @@ -> 마크다운 사용법 링크: https://gist.github.com/ihoneymon/652be052a0727ad59601 -## 숙제 -| 난이도 | 번호 | 제목 | 링크 | -| ------ | ---- | ---- | -------------------------------- | -| | 번 | | https://www.acmicpc.net/problem/ | -| | 번 | | https://www.acmicpc.net/problem/ | - -## 스터디 진행 중 풀이 -| 난이도 | 번호 | 제목 | 링크 | -| ------ | ---- | ---- | -------------------------------- | -| 난이도 | 번호 | 제목 | 링크 | -| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | - - -## 찾아온 문제들 -#### 민기홍 -| 난이도 | 번호 | 제목 | 링크 | -| ------ | ---- | ---- | -------------------------------- | -| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | -| 골드 5 | 번 | | https://www.acmicpc.net/problem/ | - -#### 김동주 - -연결 리스트 응용 - -| 난이도 | 번호 | 제목 | 링크 | 김동주의 픽 | -| ------ | ------- | ---------------- | -------------------- | ----------- | -| S2 | 1406번 | 에디터 | https://boj.kr/1406 | 이거 | -| S2 | 5397번 | 키로거 | https://boj.kr/5397 | | -| G5 | 31423번 | 신촌 통폐합 계획 | https://boj.kr/31423 | | -| G4 | 23309번 | 철도 공사 | https://boj.kr/23309 | 이거 | - -#### 정우현 -| 난이도 | 번호 | 제목 | 링크 | -| ------ | ---- | ---- | -------------------------------- | -| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | -| 골드 5 | 번 | | https://www.acmicpc.net/problem/ | - -#### 서동혁 -| 난이도 | 번호 | 제목 | 링크 | -| ------ | ---- | ---- | -------------------------------- | -| 골드 4 | 번 | | https://www.acmicpc.net/problem/ | -| 골드 5 | 번 | | https://www.acmicpc.net/problem/ | diff --git "a/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/\353\257\274\352\270\260\355\231\215/testfile.txt" "b/13\354\243\274\354\260\250 \354\227\260\352\262\260\353\246\254\354\212\244\355\212\270/\353\257\274\352\270\260\355\231\215/testfile.txt" deleted file mode 100644 index e69de29..0000000