백준 & 프로그래머스
백준.누울 자리를 찾아라.py
concho
2023. 9. 10. 23:51
https://www.acmicpc.net/problem/1652
1652번: 누울 자리를 찾아라
첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다.
www.acmicpc.net
# 풀이 설계
# 풀기 편하게 리스트 형식으로 만들어 준다.
# . 개수를 cnt한다, x 면 초기화
# . 개수가 2개이면 누울수 있는 자리로 cnt
# 방을 회전시킨다.
# 위 과정을 다시 한다.
# 끝
import sys
def dot_cal(str_list):
total_cnt = 0
for st in str_list:
dot_cnt = 0
for ch in st:
if ch == '.':
dot_cnt += 1
else:
dot_cnt = 0
if dot_cnt == 2:
total_cnt += 1
return total_cnt
def turn_list(str_list,n):
new_list = []
for i in range(n):
tm_list = []
for j in range(n):
tm_list.append(str_list[j][i])
new_list.append(''.join(tm_list))
return new_list
if __name__ == '__main__':
n = int(input())
str_list = []
for _ in range(n):
str_list.append(sys.stdin.readline().replace('\n',''))
print(dot_cal(str_list), end=' ')
print(dot_cal(turn_list(str_list, n)))