반응형
풀이
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만 했다가 고민했네요..
반응형
'개발 > PS' 카테고리의 다른 글
[Python] 프로그래머스 Lv2 오픈 채팅방 (0) | 2021.12.31 |
---|---|
프로그래머스 Lv1 키패드 누르기 (0) | 2021.12.30 |
프로그래머스 Lv1 숫자 문자열과 영단어(파이썬) (0) | 2021.12.30 |
프로그래머스 Lv1 신규 아이디 추천 (파이썬) (0) | 2021.12.30 |
프로그래머스 Lv1 로또의 최고 순위와 최저 순위 (파이썬) (0) | 2021.12.30 |