๐ ๋ฐฑ์ค 4396 - ์ง๋ขฐ
โก๏ธ ๋์ ํ์ด
์๋นํ ๊ณ ์ํ ๋ฌธ์ ๋ค. ์ด ๋ฌธ์ ๋ฅผ ๋งํ๊ธฐ ์ํด ์ ๋ต์ ์ผ๋ง๋ ์ ์ถํ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค. ๋์ด๋๊ฐ ์ค๋ฒ 5 ์๊ธฐ ๋๋ฌธ์ ์ฝ๊ฒ ํ ์ค ์์๋๋ฐ ํฐ ์ฝ ๋ค์ณค๋ค.
์ฒ์ ์งฐ๋ ์ฝ๋๋ ์ ๊ทผ ์์ฒด๋ฅผ ์ ๋ชปํ๋ค. ์ด๋๊น์ง n*n
ํ๋ ฌ์ ์ด๊ธฐํ ์ํฌ๋ ๋ฌด์กฐ๊ฑด 0
์ผ๋ก ํ๋๋ฐ, ๊ผญ ๊ทธ๋ ๊ฒ ํ ํ์ ์๋ค๋ ์๊ฐ์ด ์ด ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋๋ค. ์ด ๋ฌธ์ ์ ๋ค๋ฅธ ๋ชจ๋ ์ง์ ์ด ์จ์ (.)
์ผ๋ก ํ์๋์ด์ผํ๋ ์กฐ๊ฑด์์ result
์ ์ด๊ธฐ๊ฐ์ .
์ผ๋ก ํด์ฃผ๋ฉด ๋์๋ค.
๋, ๋ฌธ์ ๋ฅผ ์๋ฒฝํ๊ฒ ์ดํดํ์ง ๋ชปํ๋๋ฐ, ์ง๋ขฐ๊ฐ ์๋ ์นธ์ด ์ด๋ ธ๋ค๋ฉด ์ง๋ขฐ๊ฐ ์์ผ๋ฉด์ ์ด๋ฆฐ ์นธ๋ง ๋ณํ(*)
๋ก ํ์ํ๋๊ฒ์ด ์๋๊ณ , ์ง๋ขฐ๊ฐ ์๋ ๋ชจ๋ ์นธ์ด ๋ณํ(*)
๋ก ์ฒ๋ฆฌ๋์ด์ผํ๋ค. ๋์ ํ ๋ชจ๋ฅด๊ฒ ์ด์ ์ง๋ฌธ๊น์ง ๋จ๊ฒผ๋๋ฐ ๋ค๋ฅธ ๋ถ์ด ์น์ ํ๊ฒ ์๋ ค์ฃผ์
์ ํด๊ฒฐํ๋ค. ๊ฒฐ๊ตญ, 2์ค ๋ฐ๋ณต๋ฌธ์ ํ๋ ๋ ์ ์ธํด์คฌ๋ค.(์ ์ฒด๋ ์ด 4์ค ๋ฐ๋ณต๋ฌธ์ด ๋๋ค.)
์ดํด๊ฐ ์ ๋๋ฉด ๋ค์ ์ฌ์ง์ ๋ณด์. ๋ ๊ฐ์ T.C(ํ ์คํธ ์ผ์ด์ค)์ธ๋ฐ, ๊ตฌ๋ถํ ์ ์๊ฒ ๋๊ฐ?
23๋ฒ์งธ ์ฝ๋๋
if
์ elif
์ค ์ด๋ค ์ฝ๋๋ฅผ ์ฌ์ฉํด์ผ ํ ์ง ํท๊ฐ๋ ธ๋๋ฐ, ๊ฒฐ๋ก ์ ์ผ๋ก ๋ ๋ค ์ฌ์ฉํด๋ ์๊ด์๋ค. ์ ์ดํด๊ฐ ์ ๋๋ค๋ฉด ์ ๋ฒ์ ์ฌ๋ ธ๋ ๊ธ(/125)์ ์ฐธ๊ณ ํ์.
- ์ด๊ธฐ ๊ฐ์.(์จ์ )์ผ๋ก ์ ์ธํ๋ค.
- ์ง๋ขฐ๊ฐ ์์ผ๋ฉด์ ์ด๋ฆฐ ์นธ์ 0๊ณผ 8 ์ฌ์ด์ ์ซ์๋ฅผ ๋ฃ์ด์ค๋ค.
- ์ง๋ขฐ๊ฐ ์๋ ์นธ์ด ์ด๋ ธ๋ค๋ฉด ์ง๋ขฐ๊ฐ ์๋ ๋ชจ๋ ์นธ์ด ๋ณํ(*)๋ก ํ์๋์ด์ผ ํ๋ค.
- ๋ค๋ฅธ ๋ชจ๋ ์ง์ ์ ์จ์ (.)์ด์ด์ผ ํ๋ค.(1๋ฒ์์ ์ ์ฉ ์๋ฃ)
๋ฌธ์ ์์ T.C๊ฐ ํ ๊ฐ๋ฐ์ ์์ด ๋ช ๊ฐ์ง๋ฅผ ๋ง๋ค์๋ค. ์ ์ผ ํ๋จ์ ์ฐธ๊ณ ํ์.
n = int(input())
mine = [list(input()) for _ in range(n)]
board = [list(input()) for _ in range(n)]
result = [['.'] * n for _ in range(n)]
dx = [-1, -1, -1, 0, 0, 1, 1, 1]
dy = [-1, 0, 1, -1, 1, -1, 0, 1]
for x in range(n):
for y in range(n):
if mine[x][y] == '.' and board[x][y] == 'x': # ์ง๋ขฐ๊ฐ ์์ผ๋ฉด์ ์ด๋ฆฐ ์นธ
cnt = 0
for i in range(8):
nx = x + dx[i]
ny = y + dy[i]
if nx < 0 or ny < 0 or nx >= n or ny >= n:
continue
if mine[nx][ny] == '*':
cnt += 1
result[x][y] = cnt # 19๋ฒ์ ์กฐ๊ฑด ์ ์ ํต๊ณผํ์ง ์์๋ cnt ์ ์ฉ
if mine[x][y] == '*' and board[x][y] == 'x': # ์ง๋ขฐ๊ฐ ์๋ ์นธ์ด ์ด๋ ธ๋ค๋ฉด
for a in range(n):
for b in range(n):
if mine[a][b] == '*': # ์ฒซ๋ฒ์งธ ์
๋ ฅ ์ค ์ง๋ขฐ๊ฐ ์๋ ์นธ์ด๋ฉด
result[a][b] = '*' # ์ง๋ขฐ๊ฐ ์๋ ๋ชจ๋ ์นธ์ ๋ณํ๋ก ํ์
for i in range(n):
for j in range(n):
print(result[i][j], end='')
print()
'''
์
๋ ฅ
8
...**..*
......*.
....*...
........
........
.....*..
...**.*.
.....*..
xxxx....
....xxxx
xxxx....
....xxxx
xxxx....
....xxxx
xxxx....
....xxxx
2
*.
.*
.x
x.
2
*.
.*
..
.x
'''
'''
์ถ๋ ฅ
001**..*
....33*2
0001*...
....1100
0000....
....3*21
001**.*.
....3*21
.2
2.
*.
.*
'''
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1436 - ์ํ๊ฐ๋ ์ (0) | 2021.05.22 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 9625 - BABBA (0) | 2021.05.21 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1110 - ๋ํ๊ธฐ ์ฌ์ดํด (0) | 2021.05.18 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 7568 - ๋ฉ์น (0) | 2021.05.18 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 4673 - ์ ํ ๋๋ฒ (0) | 2021.05.18 |
๋๊ธ