BOJ 2799 - 블라인드 (Python)

조민수·2024년 3월 1일
0

BOJ

목록 보기
17/64
post-custom-banner

S4, 구현


풀이

전체 창에서 (1,1)을 기준으로
(1, 1) → (1, 6) → (6, 1) 이런식으로 탐색을 진행했다.
하나의 탐색에선 해당 부분에서 *의 개수를 세서 몇 번 블라인드 인지 확인해 리턴

from sys import stdin
m, n = map(int, stdin.readline().split())

k = 5 * m + 1
width = 5 * n + 1
window = [[] for _ in range(k)]

for i in range(k):
    window[i] = stdin.readline().rstrip()

x, y = 1, 1

def isWhat(x, y):
    cnt = 0
    for i in range(4):
        for j in range(4):
            if window[x + i][y + j] == '*':
                cnt += 1
    if cnt == 0:
        return 0
    elif cnt == 4:
        return 1
    elif cnt == 8:
        return 2
    elif cnt == 12:
        return 3
    else:
        return 4

res = [0] * 5
for i in range(0, k-5, 5):
    for j in range(0, width - 5, 5):
        res[isWhat(x + i, y + j)] += 1

print(*res)
profile
사람을 좋아하는 Front-End 개발자
post-custom-banner

0개의 댓글