[SWEA] 1979 | 어디에 단어가 들어갈 수 있을까

Gaanii·2024년 11월 11일
0

Problem Solving

목록 보기
134/210
post-thumbnail

문제링크


1979 | 어디에 단어가 들어갈 수 있을까



풀이과정


각 위치를 기준으로 가로, 세로를 살펴본다.

일단 만약 이동한 위치가 1이라면 sum을 1 더해준다.
그리고 이동한 위치가 0이거나 맵을 벗어나는 위치라면 sumK
과 일치하는지 확인한다.

이동한 위치가 0이면 글자를 더 넣을 수 없다는 의미이므로 sum == K가 아니라면 글자를 넣을 수 없고, 맵을 벗어나면 당연히 글자를 못넣는다. 그러면 sum을 0으로 초기화 해준다.

만약 sum == K라면 결과값을 증가시켜주면 된다.

코드


T = int(input())

for test_case in range(1, T+1):
    N, K = map(int, input().split())
    maps = [list(map(int, input().split())) for _ in range(N)]

    result = 0
    for i in range(N):
        sum = 0

        # 행
        for j in range(N):
            if maps[i][j] == 1:
                sum += 1
            if maps[i][j] == 0 or j == N-1:
                if sum == K:
                    result += 1
                sum = 0

        # 열
        for j in range(N):
            if maps[j][i] == 1:
                sum  += 1
            if maps[j][i] == 0 or j == N-1:
                if sum == K:
                    result += 1
                sum = 0
    print(f'#{test_case} {result}')


결과


정답

0개의 댓글