Hikenny25
2667 - 단지번호붙이기 본문
https://www.acmicpc.net/problem/2667
- 그래프 탐색
import sys
input = sys.stdin.readline
def search(x,y):
global amount_value
if x < 0 or y < 0 or x >= n or y >= n:
return
if matrix[x][y] == '1':
amount_value += 1
matrix[x][y] = '0'
search(x+1,y)
search(x-1,y)
search(x,y+1)
search(x,y-1)
else:
return
n = int(input())
matrix = list()
for _ in range(n):
matrix.append(list(input().strip())) # string형
cnt, amount = 0, list()
for i in range(n):
for j in range(n):
if matrix[i][j] == '1':
amount_value = 0
cnt += 1
search(i,j)
amount.append(amount_value)
amount.sort()
print(cnt)
for i in amount:
print(i)
https://desperate.tistory.com/70
요 문제랑 비슷해서 쉽게 풀었다~
amount_value 변수만 추가해서 탐색 돌 때마다 1씩 더해주고, 끝나면 0으로 초기화해줬다 끝
'baekjoon (solved.ac) > class 3 Solve' 카테고리의 다른 글
2630 - 색종이 만들기 (0) | 2022.10.29 |
---|---|
11724 - 연결 요소의 개수 (0) | 2022.10.29 |
11403 - 경로 찾기 (0) | 2022.10.27 |
11286 - 절댓값 힙 (0) | 2022.10.27 |
11279 - 최대 힙 (0) | 2022.10.27 |
Comments