일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 우선순위큐
- 누적합
- 다익스트라
- 그래프 탐색
- 분할정복
- 서브쿼리
- 시뮬레이션
- 구현
- DFS
- 백트래킹
- 다이나믹프로그래밍
- 그래프 이론
- 다이나믹 프로그래밍
- 재귀
- 자료구조
- 투포인터
- 에라토스테네스의 체
- 해시
- 수학
- DP
- 다시
- 브루트포스
- MST
- GROUP BY
- join
- 크루스칼
- 트리
- BFS
- 그리디
- 플로이드-워셜
- Today
- Total
목록분할정복 (3)
기록하고 까먹지 말기

날짜 : 2023. 06. 21 사용 언어 : python 문제 코드 import sys sys.setrecursionlimit(10**9) def mul(n1, n2): # 두 행렬을 곱함 a = n1 + n2 # print("mul", n1, n2, a) if a in hash: # 이미 해시에 있는 경우 return # 리턴 # 없는 경우 -> 행렬간 곱셈 mat1 = hash[n1] mat2 = hash[n2] temp = [[0] * N for _ in range(N)] for i in range(N): # 행 for j in range(N): # 열 for k in range(N): temp[i][j] += (mat1[i][k] * mat2[k][j]) temp[i][j] = temp[i][j..

날짜 : 2023. 04. 05 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) # 치킨집 개수 a = list(map(int, sys.stdin.readline().split())) # 치킨 k = int(sys.stdin.readline()) idx = n // k for i in range(0, n, idx): temp = a[i:i+idx] temp.sort() for j in temp: print(j, end=" ") 풀이 - n // k 를 수행하여 분할할 단위를 정한 후 기본 라이브러리의 sort() 메소드를 이용해 정렬한 값을 출력한다. 알게된 점 - 정석적으로 mergesort를 활용해서 풀이하려고 했지만 뭐가 잘못되었는지 계..

날짜 : 2023. 01. 31 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) graph = list() for _ in range(n): t = sys.stdin.readline().rstrip() temp = list() for i in range(n): temp.append(int(t[i])) graph.append(temp) res = list() def check(row, col, len): num = graph[row][col] # 기준이 되는 숫자 for i in range(row, row + len): # 기준 노드부터 시작, 지정된 length만큼만 체크 for j in range(col, col + len): if grap..