차곡차곡

[BOJ/Python] 백준 1652번 - 누울 자리를 찾아라 본문

CS/Algorithm

[BOJ/Python] 백준 1652번 - 누울 자리를 찾아라

sohy 2022. 8. 25. 12:38

백준 #1652 누울 자리를 찾아라

 

1652번: 누울 자리를 찾아라

첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다.

www.acmicpc.net

# 입력
N = int(input())
room = []
for i in range(N):
    room.append(input())

# 가로로 누울 자리 수
width = 0
for i in range(N):
    space = 0   # 누울 자리 공간
    for j in range(N):
        if room[i][j] == ".":
            space += 1
            if space == 2:
                width += 1
        else:
            space = 0
            continue

# 세로로 눈울 자리 수
length = 0
for i in range(N):
    space = 0   # 누울 자리 공간
    for j in range(N):
        if room[j][i] == ".":
            space += 1
            if space == 2:
                length += 1
        else:
            space = 0
            continue

# 출력
print(width, length)
  1. 누울 수 있는 공간을 문자열로 받아 한 자리씩 읽어나간다.
  2. 문자가 “.” 일 때 공간(space)에 1을 더하는데, 그 공간이 2가 되면 누울 자리(width 혹은 length)에 +1을 한다.

 . . x . . 인 경우 누울 수 있는 자리가 2개인 것이다. 이 부분을 생각 못 하고 공간이 2가 되면 자리 +1 하고 break를 해서 오답이 나왔다. break만 빼주니까 바로 됨!

Comments