개발/PS
프로그래머스 Lv1 크레인 인형뽑기 게임 (파이썬)
유훈 | Yuhun
2021. 12. 30. 16:37
반응형
풀이
def solution(board, moves):
answer = 0
bucket = []
for i in moves:
for j in board:
if j[i - 1] == 0:
pass
else:
bucket.append(j[i - 1])
j[i - 1] = 0
break
if len(bucket) > 1 and (bucket[-1] == bucket[-2]):
answer += 2
bucket = bucket[0:-2]
return answer
2차원 배열을 slicing 해주면 되는 문제에요.
먼저 0을 만나면 그냥 지나쳐야 하는 것을 기억하고 배열에서 숫자를 뽑아 bucket에 추가하면 배열의 그 공간은 0으로 만들어 주어야 해요. (j[i-1]인 것은 moves는 1부터 시작하기 때문이에요.)
그리고 bucket의 마지막 두 요소가 같다면 두개를 빼고 slicing해주면 되겠죠?
주의할 건 두 요소가 같은 이벤트가 일어나면 answer에 +2를 해주어야 해요. 저는 처음에 +1만 했다가 고민했네요..
반응형