Softeer
Softeer 장애물 인식 프로그램
콩순이냉장고
2024. 12. 1. 16:33
문제 URL : https://www.softeer.ai/practice/6282
Softeer - 현대자동차그룹 SW인재확보플랫폼
www.softeer.ai
문제접근법 : dfs or bfs를 몇번 사용하는지 묻는문제입니다.
백준에도 똑같은 문제가 있는문제이고 dfs나 bfs 기본기를 묻는문제입니다.
소스코드 :
from collections import deque
n = int(input())
board = [[int(c) for c in input()] for i in range(n)]
res = []
dy,dx = [-1,0,1,0],[0,1,0,-1]
def isrange(y,x):
return 0<=y<n and 0<=x<n
def dfs(y,x):
global board
if not isrange(y,x):
return 0
if not board[y][x]:
return 0
board[y][x]=0
total = 1
for i in range(4):
ny =y+dy[i]
nx =x+dx[i]
total+=dfs(ny,nx)
return total
for i in range(n):
for j in range(n):
if board[i][j]:
res.append(dfs(i,j))
res.sort()
print(len(res))
print('\n'.join(map(str,res)))
궁금한점 이나 논리적인 오류 혹은 모르는점 어떤질문이든 댓글은 언제나 환영입니다.