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 |
Tags
- Spring Batch
- 스프링배치 메타테이블
- JSONArray 분할
- api 아이템 리더
- job parameter
- 스프링 배치 5
- 읽기 작업과 쓰기 작업 분리
- 스프링배치 csv
- aop proxy
- flatfileitemwriter
- mybatis
- spring batch 변수 공유
- step 여러개
- 아이템 리더 페이징 처리
- 스프링배치 엑셀
- JSON 분할
- JSON 분리
- JSONObject 분할
- 선언적 트랜잭션 관리
- step 사이 변수 공유
- executioncontext 변수 공유
- step 값 공유
- abstractpagingitemreader
- spring batch 5
- 스프링 트랜잭션 관리
- executioncontext
- stepexecutionlistener
- 트랜잭션 분리
- 마이바티스 트랜잭션
- 아이템 리더 커스텀
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