ํ๋ ์ฆ4๋ธ๋ก
๋ธ๋ผ์ธ๋ ๊ณต์ฑ๋ฅผ ํต๊ณผํ ์ ์ ์ฌ์ ๋ผ์ด์ธ์ ์ ๊ท ๊ฒ์ ๊ฐ๋ฐ ์ ๋ฌด๋ฅผ ๋งก๊ฒ ๋์๋ค.
์ด๋ฒ์ ์ถ์ํ ๊ฒ์ ์ ๋ชฉ์ ํ๋ ์ฆ4๋ธ๋ก.
๊ฐ์ ๋ชจ์์ ์นด์นด์คํ๋ ์ฆ ๋ธ๋ก์ด 2×2 ํํ๋ก 4๊ฐ๊ฐ ๋ถ์ด์์ ๊ฒฝ์ฐ ์ฌ๋ผ์ง๋ฉด์ ์ ์๋ฅผ ์ป๋ ๊ฒ์์ด๋ค.
๋ง์ฝ ํ์ด ์์ ๊ฐ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ, ๋ผ์ด์ธ์ด 2×2๋ก ๋ฐฐ์น๋ 7๊ฐ ๋ธ๋ก๊ณผ ์ฝ์ด 2×2๋ก ๋ฐฐ์น๋ 4๊ฐ ๋ธ๋ก์ด ์ง์์ง๋ค. ๊ฐ์ ๋ธ๋ก์ ์ฌ๋ฌ 2×2์ ํฌํจ๋ ์ ์์ผ๋ฉฐ, ์ง์์ง๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ 2×2 ๋ชจ์์ด ์ฌ๋ฌ ๊ฐ ์๋ค๋ฉด ํ๊บผ๋ฒ์ ์ง์์ง๋ค.
๋ธ๋ก์ด ์ง์์ง ํ์ ์์ ์๋ ๋ธ๋ก์ด ์๋๋ก ๋จ์ด์ ธ ๋น ๊ณต๊ฐ์ ์ฑ์ฐ๊ฒ ๋๋ค.
๋ง์ฝ ๋น ๊ณต๊ฐ์ ์ฑ์ด ํ์ ๋ค์ 2×2 ํํ๋ก ๊ฐ์ ๋ชจ์์ ๋ธ๋ก์ด ๋ชจ์ด๋ฉด ๋ค์ ์ง์์ง๊ณ ๋จ์ด์ง๊ณ ๋ฅผ ๋ฐ๋ณตํ๊ฒ ๋๋ค.
์ ์ด๊ธฐ ๋ฐฐ์น๋ฅผ ๋ฌธ์๋ก ํ์ํ๋ฉด ์๋์ ๊ฐ๋ค.
TTTANT
RRFACC
RRRFCC
TRRRAA
TTMMMF
TMMTTJ
๊ฐ ๋ฌธ์๋ ๋ผ์ด์ธ(R), ๋ฌด์ง(M), ์ดํผ์น(A), ํ๋ก๋(F), ๋ค์ค(N), ํ๋ธ(T), ์ ์ด์ง(J), ์ฝ(C)์ ์๋ฏธํ๋ค
์ ๋ ฅ์ผ๋ก ๋ธ๋ก์ ์ฒซ ๋ฐฐ์น๊ฐ ์ฃผ์ด์ก์ ๋, ์ง์์ง๋ ๋ธ๋ก์ ๋ชจ๋ ๋ช ๊ฐ์ธ์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์ ์ํ๋ผ.
ํ์ด
answer = 0
def solution(m, n, board):
global answer
remove = fo(m, n, board)
if len(remove) != 0 :
n_board = rm(remove, board)
n_board = do(n_board, m)
solution(m, n, n_board)
return answer
def fo(m, n, bo):
remove = []
for i in range(len(bo)-1):
for j in range(len(bo[0])-1):
if bo[i][j] != '*' and bo[i][j] == bo[i][j+1] and bo[i][j] == bo[i+1][j] and bo[i][j] == bo[i+1][j+1] :
if not [i,j] in remove :
remove.append([i,j])
if not [i, j+1] in remove :
remove.append([i, j+1])
if not [i+1, j] in remove :
remove.append([i+1, j])
if not [i+1, j+1] in remove :
remove.append([i+1, j+1])
return remove
def rm(remove, bo):
global answer
for i in range(len(remove)):
n = int(remove[i][0])
m = int(remove[i][1])
bo[n] = bo[n][:m] + '*' + bo[n][m+1:]
answer += len(remove)
return bo
def do(bo, m):
ver = []
for i in range(len(bo)):
for j in range(len(bo[0])):
if i == 0 : ver.append(bo[i][j])
else : ver[j] += bo[i][j]
for i in range(len(ver)):
ver[i] = ver[i].replace('*','')
if len(ver[i]) != m :
q = m - len(ver[i])
ver[i] = '*'*q + ver[i]
bo = []
for i in range(len(ver)):
for j in range(len(ver[0])):
if i == 0 : bo.append(ver[i][j])
else : bo[j] += ver[i][j]
return bo
'Developer > ๐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2020.07.16 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/python] ๊ฐ์ฅ ํฐ ์ (0) | 2020.07.16 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ๊ฒ ๋๋ฒ (0) | 2020.07.14 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ๋ด์ค ํด๋ฌ์คํฐ๋ง (0) | 2020.07.10 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์์ ๋์งํ (0) | 2020.07.10 |