-
[๋ฐฑ์ค] 1652 ๋์ธ ์๋ฆฌ๋ฅผ ์ฐพ์๋ผ with PythonPS 2023. 4. 3. 16:40728x90๋ฐ์ํ
๐ BOJ 1652 ๋์ธ ์๋ฆฌ๋ฅผ ์ฐพ์๋ผ
๐ก ์กฐ๊ฑด
์ฝ๋ ์ค์ฝ ์ฝ๋์ ์๋ ๋ฐฉ์ NxN์ ์ ์ฌ๊ฐํ๋ชจ์์ผ๋ก ์๊ฒผ๋ค.
๋ฐฉ ์์๋ ์ฎ๊ธธ ์ ์๋ ์ง๋ค์ด ์ด๊ฒ์ ๊ฒ ๋ง์ด ์์ด์ ์์์ด์ ๋์ธ ์๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์์๋ค.์์์ด๊ฐ ๋์ธ ์ ์๋ ์๋ฆฌ์๋ ์กฐ๊ฑด์ด ์๋ค.
๋๋ฐ๋ก ์ฐ์ํด์ 2์นธ ์ด์์ ๋น ์นธ์ด ์กด์ฌํ๋ฉด ๊ทธ ๊ณณ์ ๋ชธ์ ์ ์์ผ๋ก ์ญ ๋ป์ผ๋ฉด์ ๋์ธ ์ ์๋ค.
๊ฐ๋ก๋ก ๋์ธ ์๋ ์๊ณ ์ธ๋ก๋ก ๋์ธ ์๋ ์๋ค.๋์ธ ๋๋ ๋ฌด์กฐ๊ฑด ๋ชธ์ ์ญ ๋ป๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ๋ฒฝ์ด๋ ์ง์ ๋ฟ๊ฒ ๋๋ค. (์ค๊ฐ์ ์ด์ ์ฉกํ๊ฒ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.)
๋ฐฉ์ ํฌ๊ธฐ N๊ณผ ๋ฐฉ์ ๊ตฌ์กฐ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ๋ก๋ก ๋์ธ ์ ์๋ ์๋ฆฌ์ ์ธ๋ก๋ก ๋์ธ ์ ์๋ ์๋ฆฌ์ ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์
N์ 1์ด์ 100์ดํ์ ์ ์์ด๋ค. '.'์ ์๋ฌด๊ฒ๋ ์๋ ๊ณณ์ ์๋ฏธํ๊ณ , 'X'๋ ์ง์ด ์๋ ๊ณณ์ ์๋ฏธํ๋ค.
๊ตฌํ, ๋ฌธ์์ด ์ ํ์ ๋ฌธ์
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์ 1
5 ....X ..XX. ..... .XX.. X....
์คํ๊ฒฐ๊ณผ 1
5 4
โจ๏ธ ๋ฌธ์ ํ์ด
๊ฐ๋ก, ์ธ๋ก๋ก ๋์ธ ์ ์๋ ์๋ฆฌ์ ๋ํ ์ขํ๊ฐ์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ ๋ฆฌ์คํธ์ ์ฒดํฌํ์ฌ ์ฌ๋ฌ๋ฒ ์นด์ดํ ํ์ง ์๊ฒ ํ๋ค.
์ด ๋ฌธ์ ์์ ์ค์ํ๊ฒ ์๊ฐํด์ผํ ์ ์, ๋์ธ ๋๋ ๋ฌด์กฐ๊ฑด ๋ชธ์ ์ญ ๋ป๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ๋ฒฝ์ด๋ ์ง์ ๋ฟ๊ฒ ๋๋ค.
์ด๋ค.๋์ธ ์ ์๋ ์๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ ๋ฆฌ์คํธ์ ์ฒดํฌํ ๋, ์ง์ด ๋ฑ์ฅํ๋ค๋ฉด ๊ฑฐ๊ธฐ์ ๋ฐฉ๋ฌธ์ฒ๋ฆฌ๋ฅผ ๋ฉ์ถฐ์ผํ๋ค.
(3)๋ฒ์ด ์ง์ผ์ง์ง ์์ ๊ฒฝ์ฐ, ๊ทน์ด๋ฐ ํ ์คํธ ์ผ์ด์ค์์ ํ๋ ธ์ต๋๋ค ๊ฐ ๋์ฌ ๊ฒ์ด๋ค.
๐ฅ ์์ค ์ฝ๋
from sys import stdin n = int(stdin.readline()) board = [] for _ in range(n): board.append(list(stdin.readline().rstrip())) g_v = [[1] * n for _ in range(n)] s_v = [[1] * n for _ in range(n)] g, s = 0, 0 def check(x, y, mode): global g, s if mode == 1: if board[x][y] == board[x][y + 1] and (g_v[x][y] == 1 and g_v[x][y + 1] == 1): g += 1 for j in range(y, n): if board[x][j] == 'X': break g_v[x][j] = 0 for j in range(y, -1, -1): if board[x][j] == 'X': break g_v[x][j] = 0 elif mode == 2: if board[x][y] == board[x + 1][y] and (s_v[x][y] == 1 and s_v[x + 1][y] == 1): s += 1 for i in range(x, n): if board[i][y] == 'X': break s_v[i][y] = 0 for i in range(x, -1, -1): if board[i][y] == 'X': break s_v[i][y] = 0 for i in range(n): for j in range(n): if board[i][j] == '.': if j + 1 < n: check(i, j, 1) if i + 1 < n: check(i, j, 2) print(g, s)
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 9655 ๋ ๊ฒ์ with Python (0) 2023.04.04 [๋ฐฑ์ค] 3943 ํค์ผ์คํค์์ด with Python (0) 2023.04.04 [๋ฐฑ์ค] 1789 ์๋ค์ ํฉ with Python (0) 2023.04.03 [๋ฐฑ์ค] 10419 ์ง๊ฐ with Python (0) 2023.04.03 [๋ฐฑ์ค] 5692 ํฉํ ๋ฆฌ์ผ ์ง๋ฒ with Python (0) 2023.04.03