๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š Algorithm/9oormthon Challenge

[๊ตฌ๋ฆ„ํ†ค ์ฑŒ๋ฆฐ์ง€ - 9oormthon Challenge] Day 7 ๊ตฌ๋ฆ„ ์ฐพ๊ธฐ ๊นƒ๋ฐœ - Python ํŒŒ์ด์ฌ ํ’€์ด

 
๊ตฌ๋ฆ„ํ†ค ์ฑŒ๋ฆฐ์ง€ 7์ผ์ฐจ - ๊ตฌ๋ฆ„ ์ฐพ๊ธฐ ๊นƒ๋ฐœ

 

๐Ÿ“œ  ๋ฌธ์ œ 

 

 

 

 

โœ๏ธ ์ž…๋ ฅ 

 

โœ๏ธ ์ถœ๋ ฅ

 

๐Ÿ’ก ํ’€์ด 

ํ–‰๋ ฌ ๊ฐ’์ด 0์ผ๋•Œ ์ธ์ ‘ํ•œ 8์นธ ์ค‘์—์„œ ๊ตฌ๋ฆ„์ด K๊ฐœ ์žˆ๋Š” ์นธ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 
๋ชจ๋“  ์นธ์„ ํ™•์ธํ•˜๋ฉด์„œ ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ์— ๊ฐœ์ˆ˜๋ฅผ ์„ธ๋„๋ก ํ•˜์˜€๋‹ค. 

n, k = map(int, input().split())
mat = [input().split() for i in range(n)]
dy, dx = [-1, -1, -1, 0, 0, 1, 1, 1], [-1, 0, 1, -1, 1, -1, 0, 1]
for i in range(n):
    for j in range(n):
        if mat[i][j] == '0':
            flag = 0
            for a in range(8):
                y, x = i + dy[a], j + dx[a]
                if y < 0 or y >= n or x < 0 or x >= n:
                    continue
                flag += int(mat[y][x] == '1')
            mat[i][j] = flag
cnt = 0
for i in range(n):
    cnt += mat[i].count(k)
print(cnt)

 

 

 

๋ฌธ์ œ ์ถœ์ฒ˜ : https://level.goorm.io/exam/195689/%EA%B5%AC%EB%A6%84-%EC%B0%BE%EA%B8%B0-%EA%B9%83%EB%B0%9C/quiz/1

728x90