Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- JSON 분리
- 스프링 리액티브 프로그래밍
- 스프링 웹플럭스
- org.json
- JobExecutionAlreadyRunningException
- date_format
- 성능개선
- nonblocking
- 마리아디비
- 스프링 배치 공식문서
- Meta Table
- JSON 분할
- jar 소스보기
- JSON 분해
- JSONObject 분할
- 스테이지에 올리기
- spring reactive programming
- batchInsert
- 날짜형을 문자형으로
- 문자형을 날짜형으로
- git stage
- JSONArray 분할
- 폐기하기
- 마이바티스 트랜잭션
- 스프링 배치 메타 테이블
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- multi update
- spring webflux
- str_to_date
- 무시하기
Archives
- Today
- Total
ebson
boj.kr/1926 그림 (silver1) 파이썬 풀이 본문
1. 도화지의 모든 좌표를 순회하면서 아래를 반복
1.1. 체크되지 않은 좌표이고 좌표 값이 1이면, 합계 리스트에 해당 좌표를 인자로 아래와 같이 bfs한 결과를 저장
1.1.1. deque에 인자로 받은 좌표값을 저장
1.1.2. tot을 1로 초기화
1.1.3. 체크배열의 해당 좌표값을 1로 갱신
1.1.4. dq가 빌 때까지 반복
1.1.4.1. 상하좌우 좌표에 대해 도화지에 존재하는 좌표이고, 좌표값이 1이고, 체크배열의 값이 0이면, dq에 추가하고 chk배열의 값을 1로 갱신하고 tot을 1 증감
1.1.5. tot 값을 반환
2. tot_list의 길이를 출력
3. tot_list의 길이가 0보다 크면 최대값을 출력하고 0이면 0을 출력
N, M = map(int, input().split())
adj = [list(map(int, input().split())) for _ in range(N)]
dy = [-1, 1, 0, 0]
dx = [0, 0, -1, 1]
from collections import deque
def bfs(y, x):
dq = deque()
dq.append((y, x))
chk[y][x] = 1
tot = 1
while dq:
(cy, cx) = dq.popleft()
for i in range(4):
ny = cy + dy[i]
nx = cx + dx[i]
if 0<=ny<N and 0<=nx<M and adj[ny][nx] == 1 and chk[ny][nx] == 0:
dq.append((ny, nx))
chk[ny][nx] = 1
tot += 1
return tot
chk = [[0 for _ in range(M)] for _ in range(N)]
tot_list = []
for y in range(N):
for x in range(M):
if chk[y][x] == 0 and adj[y][x] == 1:
tot_list.append(bfs(y, x))
print(len(tot_list))
print(max(tot_list) if len(tot_list) > 0 else 0)
bfs , dfs 방식 모두 가능하다.
'ALGORITHM STUDY WITH PYTHON > BFS | DFS' 카테고리의 다른 글
boj.kr/2638 치즈 (gold3) 파이썬 풀이 (0) | 2023.05.05 |
---|---|
boj.kr/1325 효율적인 해킹 (silver1) 파이썬 풀이 (0) | 2023.05.04 |
boj.kr/9466 팀 프로젝트 (gold3) 파이썬 풀이 (0) | 2023.05.03 |
boj.kr/1068 트리 (gold5) 파이썬 풀이 (0) | 2023.05.03 |
boj.kr/1167 트리의 지름 (gold2) 파이썬 풀이 (0) | 2023.05.02 |
Comments