코딩테스트 파이썬/Softeer
Softeer 연습문제(2단계) - 장애물 인식 프로그램
세용용용용
2024. 6. 26. 16:13
Candidate | Softeer Assessment UI
Candidate | Softeer Assessment UI
softeer.ai
나의 코드
from collections import deque
import sys
def _main(n_ct, map_list):
answer = []
for i in range(n_ct):
for j in range(n_ct):
if (map_list[i][j] == '1'):
queue, now_answer = deque([(i, j)]), 0
while queue:
now_answer += 1
x, y = queue.popleft()
map_list[x][y] = '0'
for n_x, n_y in ((-1, 0),(1, 0),(0, -1),(0, 1)):
new_x, new_y = (x + n_x), (y + n_y)
if (0 <= new_x < n_ct) and (0 <= new_y < n_ct) and (map_list[new_x][new_y] == '1') and ((new_x, new_y) not in queue):
queue.append((new_x, new_y))
answer.append(now_answer)
answer = list(map(str, sorted(answer)))
return '\n'.join([str(len(answer))] + answer)
n_ct = int(sys.stdin.readline())
map_list = [list(sys.stdin.readline().rstrip()) for _ in range(n_ct)]
print(_main(n_ct, map_list))