[문제]
https://www.acmicpc.net/problem/1652
[풀이]
방의 마지막이 'X'(벽)이여야 row_cnt와 col_cnt가 2 이상일 경우 누울 자리에 1을 더하기 때문에 입력받은 문자열에서 맨 오른쪽열과 맨 아래쪽행을 'X'로 패딩해주었다.
[코드]
if __name__ == '__main__':
n = int(input())
room = []
for _ in range(n):
room += [input() + 'X']
room.append('X' * (n+1))
row_seat, col_seat = 0, 0
for i in range(n + 1):
row_cnt, col_cnt = 0, 0
for j in range(n + 1):
# 가로
if room[i][j] == '.':
row_cnt += 1
elif room[i][j] == 'X':
if row_cnt >= 2:
row_seat += 1
row_cnt = 0
# 세로
if room[j][i] == '.':
col_cnt += 1
elif room[j][i] == 'X':
if col_cnt >= 2:
col_seat += 1
col_cnt = 0
print(row_seat, col_seat)
'문제풀이 > BOJ' 카테고리의 다른 글
[Python] BOJ/백준 1864번 문어 숫자 (0) | 2021.07.15 |
---|---|
[Python] BOJ/백준 2997번 네 번째 수 (0) | 2021.07.15 |
[Python] BOJ/백준 1252번 이진수 덧셈 (0) | 2021.07.11 |
[Python] BOJ/백준 1225번 이상한 곱셈 (0) | 2021.07.10 |
[Python] BOJ/백준 1373번 2진수 8진수 (0) | 2021.07.10 |