티스토리 뷰

문제출처 - https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PuPq6AaQDFAUq&categoryId=AV5PuPq6AaQDFAUq&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

t = int(input())

for case in range(t):
    n, k = map(int, input().split())
    arr = [list(map(int, input().split())) for _ in range(n)]  # 검정색=0, 흰색=1
    answer = 0

    # 가로부터 탐색
    for i in range(n):
        cnt = 0
        for j in range(n):
            if arr[i][j] == 0:
            	# 11101인 경우 예외처리
                if cnt == k:
                    answer += 1
                cnt = 0
                continue
            cnt += 1

        if cnt == k:
            answer += 1

    # 세로
    for i in range(n):
        cnt = 0
        for j in range(n):
            if arr[j][i] == 0:
                if cnt == k:
                    answer += 1
                cnt = 0
                continue
            cnt += 1

        if cnt == k:
            answer += 1

    print("#%d" % (case + 1), answer)
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함