ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฉ ๋ถํ ์ ๋ณต, ์ฌ๊ท
thinking
N์ด 3์ ๋ฐฐ์์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ซ์๋ก ์ ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉด ๊ณ์ํด์ ๋๋๋ฉด์ -1, 0, 1
์ ๊ฐ์๋ฅผ ๊ตฌํ๋ฉด ๋๋ค.
๊ทธ๋์ ๊ฐ์ ์ซ์๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง ์ฒดํฌํ๋ checking
์ด๋ผ๋ ํจ์์ 9์นธ์ผ๋ก ํ๋ ฌ์ ๋๋ divide
๋ผ๋ ํจ์๋ฅผ ๋ง๋ค์ด ๊ตฌํ๋ค.
์์ํ(s_x
)๊ณผ ์์์ด (s_y
) ์ ์ธ์๋ก ํ์ฌ ํจ์๋ฅผ ๊ณ์ ์ชผ๊ฐ๋๋ผ๋ ๊ฐ์ ํ์ธํ ์ ์๋๋ก ๊ตฌ์ฑํ๋ค.
์ฒ์ ์ฝ๋๋ฅผ ์งค ๋ 1๏ธโฃ๊ณผ 2๏ธโฃ์ ์์๋ฅผ ๋ฐ๊ฟจ๋๋ ํ๋ ธ๋ค. ์ผ๋จ ์ด๋ค ๊ฐ์ด ๋์๋์ง๋ฅผ ๋จผ์ ์ฒดํฌํด์ผํ๊ธฐ ๋๋ฌธ์ 1๏ธโฃ๊ณผ 2๏ธโฃ์ ์์๋ก ๊ตฌ์ฑํด์ผํ๋ค.
์ฝ๋
# ๊ฐ์ ์ซ์๋ก ์ด๋ฃจ์ด์ ธ ์๋์ง ํ์ธํ๋ ํจ์
def checking(s_x, s_y, length): # ์์ x, y์ขํ, ์ข
์ด ๊ธธ์ด
global res
check = [] # ์ซ์๊ฐ์ ๋ฃ์ ๋ฆฌ์คํธ
for i in range(s_x, s_x+length):
for j in range(s_y, s_y+length):
if a[i][j] not in check: # 1๏ธโฃ check์ ๊ฐ์ด ์์ผ๋ฉด ๋ฃ์ด์ฃผ๊ธฐ
check.append(a[i][j])
if len(check) >= 2: # 2๏ธโฃ ๊ฐ์๊ฐ ๋๊ฐ ์ด์ ๋์จ ๊ฒฝ์ฐ ํจ์ ์ชผ๊ฐ์ผ ํ๋ฏ๋ก ์ชผ๊ฐ๊ณ ๋ฆฌํด
divide(s_x, s_y, length)
return
# ๊ฐ์ ์ข
์ด๋ก ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ
if check[0] == -1:
res[0] += 1
elif check[0] == 0:
res[1] += 1
elif check[0] == 1:
res[2] += 1
# 3์ผ๋ก ๋๋๋(== 9์นธ์ผ๋ก ๋๋๋) ํจ์
def divide(s_x, s_y, length):
global res
if length == 1:
res[a[s_x][s_y]] += 1
return # ๋์ด์ ๋๋์ง ์์
k = length//3
checking(s_x, s_y, k)
checking(s_x, s_y+k, k)
checking(s_x, s_y+2*k, k)
checking(s_x+k, s_y, k)
checking(s_x+k, s_y+k, k)
checking(s_x+k, s_y+2*k, k)
checking(s_x+2*k, s_y, k)
checking(s_x+2*k, s_y+k, k)
checking(s_x+2*k, s_y+2*k, k)
N = int(input())
a = [list(map(int, input().split())) for _ in range(N)]
res = [0, 0, 0] # -1๊ฐ์, 0๊ฐ์, 1๊ฐ์
checking(0, 0, N)
print(res[0])
print(res[1])
print(res[2])
ํ๊ธฐ
๋ด ์ฝ๋ ์ฐธ ๊ทธ์ง๊ฐ๋ค... ๋๋ฌด ๊ธธ๊ณ ๋๋ฆฌ๊ณ ...
๋ต์ ๋ง์์ผ๋ ๋์ ์๊ณ ๋ฆฌ์ฆ ์ค๋ ฅ์ ๊ทธ๋๋ก ์ธ๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด ๊ตฌ๋ฆฌ๋ค
์ธ์ ์ฏค ์ฝ๋๋ฅผ ๊ธฐ๊น๋๊ฒ ํจ์จ์ ์ด๊ณ ๊ฐ๊ฒฐํ๊ฒ ์งค ์ ์์๊น
๋ฉ๋ชจ๋ฆฌ๋ ์๊ฐ ์ง์ฌ ๋จธ์ 129 . . .
'algorithm > baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 5430. AC / python ํ์ด์ฌ (0) | 2021.06.02 |
---|---|
[๋ฐฑ์ค] 1931๋ฒ. ํ์์ค ๋ฐฐ์ / python ํ์ด์ฌ (0) | 2021.06.02 |
[๋ฐฑ์ค] 2178. ๋ฏธ๋ก ํ์ / python ํ์ด์ฌ (0) | 2021.06.02 |
[๋ฐฑ์ค] 1764. ๋ฃ๋ณด์ก / python ํ์ด์ฌ (0) | 2021.06.02 |
[๋ฐฑ์ค] 1697. ์จ๋ฐ๊ผญ์ง / python ํ์ด์ฌ (0) | 2021.06.02 |
- swea
- merge ์๋ฌ
- ํ์ด์ฌ
- ์ผ์ฑ์ฝํ
- react
- ๋ฐฑ์ค
- 21609 ์์ด ์คํ๊ต
- Python
- dp
- ์ผ์ฑ๊ธฐ์ถ
- merge์๋ฌ
- ์๊ณ ๋ฆฌ์ฆ
- 20057 ๋ง๋ฒ์ฌ ์์ด์ ํ ๋ค์ด๋
- ํ๋ก๊ทธ๋๋จธ์ค
- BFS
- 2018 ์นด์นด์ค ๊ณต์ฑ
- ์์ด๋๋ง์๊ธฐ
- ๊ธฐ์ง๊ตญ์ค์น
- git ๋ฏธ๋ฌ๋ง
- dfs
- 17406 ๋ฐฐ์ด๋๋ฆฌ๊ธฐ4
- 20056 ๋ง๋ฒ์ฌ ์์ด์ ํ์ด์ด๋ณผ
- ๋ณด์์ผํ
- 2579 ๊ณ๋จ์ค๋ฅด๊ธฐ
- ๋ธ๋ฃจํธํฌ์ค
- Total
- Today
- Yesterday