문제를 이해하고 코드를 작성했는데 계속 WA가 출력되어 질문게시판에 있는 반례 및 문제 내용 설명을 찾아봤는데 어떤 사람의 질문 답변을 보고 어디가 잘못되었는지 찾을 수 있었다.
1열 | 2열 | 3열 | 4열 | 5열 | |
---|---|---|---|---|---|
1행 | . | . | X | . | . |
2행 | X | X | X | X | X |
3행 | X | X | X | X | X |
4행 | X | X | X | X | X |
5행 | X | X | X | X | X |
위의 테스트케이스의 경우 1행에서 누울 수 있는 자리가 2군데 나오므로 출력은 2 0이 되어야 한다.
연속적으로 빈 칸을 모두 차지해야 한다. 예를 들어, 가로로 3칸이 연속해서 비어있고 이곳에 가로로 눕고 싶다면 반드시 그 3칸을 모두 차지해야 하고 2칸만 차지해서 누울 수 없다는 의미가 된다.
N = int(input())
room = []
for _ in range(N):
room.append(input())
width = 0
for a in range(N):
width_cnt = 0
for b in range(N):
if room[a][b] == ".":
width_cnt += 1
else:
width_cnt = 0
if width_cnt == 2:
width += 1
height = 0
for c in range(N):
height_cnt = 0
for d in range(N):
if room[d][c] == ".":
height_cnt += 1
else:
height_cnt = 0
if height_cnt == 2:
height += 1
print(width, height)