n = 5
m = 4
input = ['CCBDE', 'AAADE', 'AAABF', 'CCBBF']
input = ['TTTANT', 'RRFACC', 'RRRFCC', 'TRRRAA', 'TTMMMF', 'TMMTTJ']
n = 6 # x
m = 6 # y
## 피벗 ##
def table_pivot(n,m,board):
pivot_board = [] # 피벗된 게임판
for i in range(n):
temp_list = []
for j in range(m):
temp_list.append(board[j][i])
pivot_board.append(temp_list)
return pivot_board
# 블록 제거 후 공백 체워 넣기
def remove_blocks(n, m, pivot_board):
my_set = {(-1, -1)}
## 없앨 블록 체크 ##
for i in range(n-1):
for j in range(m-1):
if pivot_board[i][j] == pivot_board[i+1][j] == pivot_board[i][j+1] == pivot_board[i+1][j+1]:
my_set.add((i,j)), my_set.add((i+1,j)), my_set.add((i,j+1)), my_set.add((i+1,j+1))
my_set.remove((-1,-1))
### 없앨 블록 제거 ###
for i,j in my_set:
pivot_board[i][j] = ' '
## 공백제거 후 앞에 체우기 ##
board2 = []
for i in pivot_board:
count = i.count(' ')
i = list(filter(lambda a: a != ' ',i))
for j in range(count):
i.insert(0,' ')
board2.append(i)
pivot_board2 = board2
if pivot_board == board2:
answer = 0
for i in pivot_board:
answer += i.count(' ')
print(answer)
else:
remove_blocks(n, m, pivot_board2)
def play_game(n, m, input):
## 리스트화 ##
board = []
for i in input:
temp = list(i)
board.append(temp)
pivot_board = table_pivot(n,m,board)
remove_blocks(n, m, pivot_board)
play_game(n, m, input)