일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSON 분해
- git stage
- 성능개선
- 스프링 리액티브 프로그래밍
- jar 소스보기
- JSONObject 분할
- 스프링 웹플럭스
- JobExecutionAlreadyRunningException
- 무시하기
- 날짜형을 문자형으로
- org.json
- date_format
- 마이바티스 트랜잭션
- batchInsert
- spring reactive programming
- 마리아디비
- Meta Table
- JSON 분할
- multi update
- 스테이지에 올리기
- 폐기하기
- 문자형을 날짜형으로
- str_to_date
- spring webflux
- JSON 분리
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- 스프링 배치 메타 테이블
- nonblocking
- 스프링 배치 공식문서
- JSONArray 분할
- Today
- Total
목록ALGORITHM STUDY WITH PYTHON/BFS | DFS (29)
ebson
방문체크하면서 bfs 방식으로 카운팅하여 K에 도달하는 최소시간을 구할 수 있다. N, K = map(int, input().split()) from collections import deque def bfs(N): visited = [0] * 100001 visited[N] += 1 dq = deque() dq.append((N, 0)) while dq: (cur, cnt) = dq.popleft() if cur == K: return cnt for nxt in (cur*2, cur+1, cur-1): if 0
1. deque에 익은 토마토 좌표를 모두 저장 2. dfs 방식으로 deque를 검사하면서 상화좌우 안익은 토마토는 현재토마토 좌표의 값의 + 1의 값을 갖도록 저장 3. 익은 토마토로 변경된 토마토의 좌표를 deque에 저장 4. 전제 좌표 값을 순회하면서 0이 있으면 -1을 출력, 0이 없으면 좌표 값 중에서 최대-1을 출력 M, N = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(N)] from collections import deque dq = deque() for y in range(N): for x in range(M): if board[y][x] == 1: dq.append((y, x))..
1. 모든 좌표를 순회하면서 아래를 반복 1.1. 값이 '1'인 경우 방문체크하고 집의 개수 d를 1으로 초기화한 후에 아래 dfs를 수행 1.1.1. 상하좌우 좌표값 중 값이 '1'이고 방문하지 않았으면 방문체크하고 dfs를 호출, 전역변수 d값을 1증감 1.1.2. dfs함수 밖에서 초기화했던 d를 반환 1.2. d_list에 dfs수행 결과 전역변수 d를 append 1.3. 영역의 개수 cnt를 1 증감 2. 영역의 개수 cnt를 출력하고 d_list를 오름차순으로 출력 N = int(input()) board = [input().strip() for _ in range(N)] visited = [[0]*N for _ in range(N)] import sys sys.setrecursionlimi..
1. 아래와 같이 bfs방식으로 거리값을 증감하면서 좌표를 탐색하고 목적지에 도착한 경우 최단거리값을 출력 1.1. 출발지 좌표와 초기 거리값을 deque에 추가 1.2. dq가 빌 때까지 아래를 반복 1.2.1. dq.popleft하여 현재좌표와 거리값을 저장 1.2.2. 현재 좌표가 목적지 좌표이면 거리값을 반환 1.2.3. 상하좌우 좌표를 검사하면서 좌표값이 '1'이고 방문하지 않은 경우 방문체크하고 deque에 좌표, 현재거리+1을 append 2. bfs함수 호출 결과를 출력 N, M = map(int, input().split()) board = [input().strip() for _ in range(N)] visited = [[0] * M for _ in range(N)] dy = (1, ..
1. 입력받은 후보 문자들 중 모음문자를 vowels에 저장 2. combinations를 사용해 추출한 모든 L개의 문자 조합에 대해 아래를 반복 2.1. 모음문자의 개수를 카운트 2.2. 모음문자가 0개보다 많고 L-2개 이하이면, passwords 배열에 append 3. passwords 배열을 정렬한 후 순회하면서 출력 L, C = map(int, input().split()) words = list(input().split()) vowels = [] for w in words: if w in ('a', 'e', 'i', 'o', 'u'): vowels.append(w) passwords = [] from itertools import combinations for combi in combina..