티스토리 뷰
728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/64061?language=python3
코딩테스트 연습 - 크레인 인형뽑기 게임
[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4
programmers.co.kr
코드
def solution(board, moves):
answer = 0
result = []
for i in moves:
for j in range(len(board)):
if board[j][i-1] != 0:
result.append(board[j][i-1])
board[j][i-1] = 0
break
for j in range(len(result)-1):
if result[j] == result[j+1]:
result.pop()
result.pop()
answer += 2
break
return answer
크레인이 움직이는 배열을 담고있는 moves를 for문으로 돌려 열로 지정하고 (moves에 1부터 들어가있는데 인덱스에 넣을때는 -1을 해준다.)
board에 행을 순서대로 탐색해 board[j][i-1]이 0일 경우에는 새로만든 result 리스트에 넣어주고 board에서는 뺴줘야 하기 때문에 0으로 바꿔준다.
그리고 result에 같은값이 연속으로 있을경우에는 두 값을 바로 없애주고 answer에 2를 더해주면 된다.
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Level2, 타겟 넘버 (Python) (0) | 2021.06.12 |
---|---|
[프로그래머스] Level2, 프린터 (Python) (0) | 2021.06.11 |
[프로그래머스] Level2, 더 맵게 (Python) (0) | 2021.06.10 |
[프로그래머스] Level2, 조이스틱 (Python) (0) | 2021.06.10 |
[프로그래머스] Level2, 점프와 순간 이동 (Python) (0) | 2021.06.10 |
댓글