해당 문제는 '-'과 '|'으로 구성된 지도가 주어졌을 때 '-'의 경우 본 행에서 '|'으로 구분된 개수를 카운트 하고 '|'의 경우 열을 기준으로 '-'으로 구분된 개수를 카운트 해 마지막으로 더해주는 방식으로 문제를 풀어야 했다.
이때 dfs, bfs를 활용하지 않고 단순 while문을 활용했는데 만약 행을 기준으로 '-'이 나왔다면 연결된 '-'가 있을 때마다 카운트 하지 않고 리스트의 인덱스 값을 늘리고 '|'이 나온다면 2차 while 문을 종료하는 방식으로 문제를 풀었다.
n, m = map(int, input().split())
lst = [[x for x in input()] for _ in range(n)]
cnt1 = 0
for i in range(n):
j = 0
while(j < m):
if lst[i][j] == '-':
cnt1 += 1
while j < m-1:
if lst[i][j+1] == '-':
j += 1
else:
break
j +=1
cnt2 =0
for i in range(m):
j = 0
while (j < n):
if lst[j][i] == '|':
cnt2 += 1
while j < n-1:
if lst[j+1][i] == '|':
j += 1
else:
break
j += 1
print(cnt1+cnt2)