본문 바로가기
코딩테스트 연습

[Softeer] 장애물 인식 프로그램

by eddypark 2023. 9. 15.

https://softeer.ai/practice/info.do?idx=1&eid=409

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

 

DFS 알고리즘을 이용했다.

import sys

n = int(input())
Map = [list(map(int, input())) for _ in range(n)]
answer = []
res = 0
def dfs(x, y):
    if x<0 or x>=n or y<0 or y>=n:
        return 0
    if Map[x][y]:
        Map[x][y] = 0
        count = 1
        count += dfs(x-1, y)
        count += dfs(x, y-1)
        count += dfs(x+1, y)
        count += dfs(x, y+1)
        return count
    return 0

for i in range(n):
    for j in range(n):
        res = dfs(i, j)
        if res:
            answer.append(res)
print(len(answer))
answer.sort()
for i in answer:
    print(i)

'코딩테스트 연습' 카테고리의 다른 글

[Softeer] 금고털이  (0) 2023.09.20
[Softeer] 8단 변속기  (0) 2023.09.19
[Softeer] 지도 자동 구축  (0) 2023.09.14
[Softeer] 비밀 메뉴  (0) 2023.09.13
[Programmers] 괄호 회전하기  (0) 2023.09.12