doctscoder
하고싶은일있는개발
doctscoder
전체 방문자
오늘
어제
  • 분류 전체보기 (305)
    • 코테용 문제풀이 (304)
      • 백준 (272)
      • 알고스팟 (32)
    • 공부계획 (1)

최근 글

hELLO · Designed By 정상우.
doctscoder

하고싶은일있는개발

코테용 문제풀이/백준

단지번호붙이기 풀이

2023. 2. 2. 16:20

문제 링크: https://www.acmicpc.net/problem/2667

백준 알고리즘 기초 2/2 600에서 5번째 - 2667번 단지번호붙이기를 풀어보았다.

 

풀이: https://ji-gwang.tistory.com/294 를 참고했다.

 

C++

 

Python

from collections import deque

def bfs(g,a,b):
	q=deque()
	q.append([a,b])
	g[a][b]=0
	cnt=1
	while q:
		x,y=q.popleft()
		g[x][y]=0
		for i in range(4):
			nx=x+dx[i]
			ny=y+dy[i]
			if nx<0 or nx>=len(g) or ny<0 or ny>=len(g):
				continue
			if g[nx][ny]==1:
				g[nx][ny]=0
				q.append([nx,ny])
				cnt+=1
	return cnt

n=int(input())
graph=[]
res=[]
for _ in range(n):
	graph.append(list(map(int,input())))
dx=[0,0,1,-1]
dy=[1,-1,0,0]
for i in range(n):
	for j in range(n):
		if graph[i][j]==1:
			cnt=bfs(graph,i,j)
			res.append(cnt)
res.sort()
print(len(res))
for i in res:
	print(i)

Java

 

저작자표시 비영리 변경금지 (새창열림)

'코테용 문제풀이 > 백준' 카테고리의 다른 글

미로 탐색 풀이  (0) 2023.02.07
섬의 개수 풀이  (0) 2023.02.02
이분 그래프 풀이  (0) 2023.02.02
연결 요소의 개수 풀이  (0) 2023.02.02
DFS와 BFS 풀이  (0) 2023.02.02
    '코테용 문제풀이/백준' 카테고리의 다른 글
    • 미로 탐색 풀이
    • 섬의 개수 풀이
    • 이분 그래프 풀이
    • 연결 요소의 개수 풀이
    doctscoder
    doctscoder
    코딩 관련 공부를 적어놓는 블로그

    티스토리툴바