일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- git stage
- 스프링 웹플럭스
- 마이바티스 트랜잭션
- JSON 분리
- JSONArray 분할
- JobExecutionAlreadyRunningException
- 폐기하기
- 스프링 배치 공식문서
- org.json
- JSON 분할
- 마리아디비
- 문자형을 날짜형으로
- 스프링 배치 메타 테이블
- nonblocking
- 무시하기
- str_to_date
- 날짜형을 문자형으로
- spring webflux
- date_format
- JSONObject 분할
- spring reactive programming
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- 스프링 리액티브 프로그래밍
- 스테이지에 올리기
- jar 소스보기
- batchInsert
- multi update
- 성능개선
- JSON 분해
- Meta Table
- Today
- Total
목록ALGORITHM STUDY WITH PYTHON/Bruteforce (7)
ebson
1. 모든 팀 구성의 경우의 수에 대하여 능력치의 합을 구하고 최솟값 세팅2. 최솟값이 0으로 세팅되면 0을 반환3. 모든 능력치의 합의 경우의 수 중 최솟값을 출력 import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class B14889 { static int N = 0; static int minDiff = Integer.MAX_VALUE; static int[][] board; static boolean[] visited; public static void main(String[] args) { try{ Bu..
1. N 행 M 열의 체스판을 순회하면서 아래를 수행1.1. 0행 0열을 B로 시작하는 체스판으로 바꾸는 경우에 바꿔야 하는 칸의 개수를 카운트1.2. 0행 0열을 W로 시작하는 체스판으로 바꾸는 경우에 바꿔야 하는 칸의 개수를 카운트2. N 행 M 열의 체스판에서 8*8 크기의 체스판을 구하는 모든 경우에 아래를 수행2.1. 0행 0열을 B로 시작하는 경우, cntList 으로 8*8 크기의 체스판에서 바꿔야 하는 칸의 개수를 추가 2.1. 0행 0열을 W로 시작하는 경우, cntList 으로 8*8 크기의 체스판에서 바꿔야 하는 칸의 개수를 추가 3. 모든 바꿔야하는 칸의 개수의 경우의 수 중에서 최소값을 출력 import java.io.BufferedReader;import java.io.Inpu..
1. N 행 M 열의 체스판을 순회하면서 아래를 수행1.1. 0행 0열을 B로 시작하는 체스판으로 바꾸는 경우에 바꿔야 하는 칸의 개수를 카운트1.2. 0행 0열을 W로 시작하는 체스판으로 바꾸는 경우에 바꿔야 하는 칸의 개수를 카운트2. N 행 M 열의 체스판에서 8*8 크기의 체스판을 구하는 모든 경우에 아래를 수행2.1. 0행 0열을 B로 시작하는 경우, cntList 으로 8*8 크기의 체스판에서 바꿔야 하는 칸의 개수를 추가 2.1. 0행 0열을 W로 시작하는 경우, cntList 으로 8*8 크기의 체스판에서 바꿔야 하는 칸의 개수를 추가 3. cntList 에서 최소값을 출력 N, M = map(int, input().split())board = [input() for _ in range(..
1. 집의 좌표들과 치킨집 좌표들을 각각 리스트에 저장 2. combinations를 사용해 치킨집 좌표 리스트에서 추출한 M개의 치킨집 좌표들을 순회하면서 아래(3,4,5)를 반복 3. 집의 좌표 목록을 순회 4. 집에서 치킨집까지 거리를 계산하고 최소 치킨거리를 저장 5. 모든 집들의 최소 치킨거리를 더한 값을 최소 치킨거리 리스트에 저장 6. 최소 치킨거리 리스트에서 최소값을 출력 N, M = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(N)] chickens = [] homes = [] for y in range(N): for x in range(N): if board[y][x] == 2: chi..
1 전체 영역에서 최고, 최저 높이 추출 2 최저-1 -> 최고 높이 까지 검사하면서 아래 반복 2.1. board 를 순회하면서 미방문 안전지대의 경우 안전영역개수 cnt 증감하고 2.2. dfs 방식으로 탐색하면서 미방문 상태이면서 안전한 좌표를 방문체크 2.3. 안전영역개수 cnt를 cnt_list에 저장 3. cnt_list에서 최대값을 출력 N = int(input()) board = [list(map(int, input().split())) for _ in range(N)] import sys sys.setrecursionlimit(10**9) dy = (1, -1, 0, 0) dx = (0, 0, 1, -1) def dfs(y, x, h): for i in range(4): ny = y +..
1. combinations를 import하여 가능한 모든 조합에 대해 아래를 반복 1.1. startT과 linkT 리스트를 초기화 1.2. start_tot 과 link_tot을 저장 1.3. diff_list에 두 점수의 차를 저장 2. diff_list의 최소값을 출력 N = int(input()) board = [list(map(int, input().split())) for _ in range(N)] nums = [] for n in range(N): nums.append(n) from itertools import combinations from itertools import permutations diff_list = [] for combi in combinations(nums, N//2)..
1. nums에 순서대로 숫자들을 저장 2. +, -, *, / 연산자를 개수만큼 qs 배열에 저장 3. 문제 조건에 맞게 divide 함수를 정의 4. permutations를 사용해 가능한 모든 연산자들의 순열에 대해 아래를 반복 4.1. ans에 nums[0]을 저장 4.2. 연산자들의 순열을 순회하면서 +, -, *, divide 연산을 수행한 결과를 ans으로 갱신 4.3. ans와 min_ans, max_ans를 각각 최소, 최대 비교해 min_ans, max_ans를 갱신 5. max_ans를 출력하고 다음줄에 min_ans를 출력 N = int(input()) nums = list(map(int, input().split())) ops = list(map(int, input().split(..