😎 코딩테스트 연습>2018 KAKAO BLIND RECRUITMENT>[1차] 프렌즈4블록
def solution(m, n, board):
answer = 0
board = [list(i) for i in board]
while True:
d = set() #중복제거
#지울 블록 찾기
for i in range(m-1):
for j in range(n-1):
if (board[i][j] == board[i][j+1] == board[i+1][j] == board[i+1][j+1]) and board[i][j] != '':
d.add((i, j))
d.add((i, j+1))
d.add((i+1, j))
d.add((i+1, j+1))
#지울 블록 개수 세기
answer += len(d)
if not d:
break
#블록 지우기
for p in d:
x, y = p
board[x][y] = ''
#블록 내리기
for i in range(m-1, -1, -1):
for j in range(n):
if board[i][j] == '':
tmp = i
while tmp >= 0 and board[tmp][j] == '':
tmp -= 1
if tmp >= 0:
board[i][j] = board[tmp][j]
board[tmp][j] = ''
return answer
소혜언니의 코드 참고했다.. ㅎ