Computer Science/Algorithm
[Programmers] Level 1 - 크레인 인형뽑기 게임
ddu0422
2023. 8. 8. 12:41
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
"""
NxN 크기 정사각 격자
바구니에 옮김
바구니에 같은 인형이 있는 경우 터짐
주의) 터진 후 다시 터질 수 있음
인형이 없는 곳에서 크레인 작동 시 아무일도 일어나지 않음
크레인을 모두 작동시킨 후 터트러져 사라진 인형의 개수를 구하시오.
0은 빈 칸을 의미
== example ==
1, 5, 3, 5, 1, 2, 1, 4
4, 3, 1, 1, 3, 2, 4
"""
def solution(board, moves):
answer = 0
busket = []
size = len(board)
for move in moves:
for i in range(size):
doll = board[i][move - 1]
if doll:
busket.append(doll)
board[i][move - 1] = 0
answer += remove_doll(busket)
break
return answer
def remove_doll(busket):
if len(busket) >= 2 and busket[-2] == busket[-1]:
for _ in range(2):
busket.pop()
return 2
return 0