https://programmers.co.kr/learn/courses/30/lessons/17679?language=python3
코딩테스트 연습 - [1차] 프렌즈4블록
프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙
programmers.co.kr
def solution(h, w, board):
answer = 0
board = [list(i) for i in board]
matched = True
while matched:
matched = set()
# find 4bloacks in the board
for i in range(h-1):
for j in range(w-1):
if board[i][j] == board[i+1][j] \
== board[i][j+1] == board[i+1][j+1] != '#':
for ii in range(2):
for jj in range(2):
matched.add((i+ii, j+jj))
# erase matched blocks
for i, j in matched:
board[i][j] = '#'
# drop rest blocks
for _ in range(h):
for i in range(h-1, 0, -1):
for j in range(w):
if board[i][j] == '#':
board[i][j], board[i-1][j] = board[i-1][j], board[i][j]
answer += len(matched)
return answer
'코딩테스트 준비 > [프로그래머스]' 카테고리의 다른 글
프로그래머스 - 주사위 게임 python (0) | 2022.05.19 |
---|---|
프로그래머스 - 스킬트리 python (0) | 2022.05.19 |
가로등 - 프로그래머스 스쿨 (0) | 2022.05.18 |
[프로그래머스] 여행경로 (DFS) (0) | 2022.01.14 |