2차원 배열로 인형들 정보와 1차원 배열로 인형뽑기의 움직임을 input
으로 받고 똑같은 인형이 뽑힐시 사라지는데 사라진 인형의 총 개수를 output
으로 return하는 문제
2차원 배열의 값들을 반복문으로 접근하여 뽑은 인형을 list에 추가해서
다시 반복문으로 뽑힌 인형들을 확인하며 숫자가 같으면 삭제하는 방식.
나의 풀이
def solution(board, moves): answer = []; for i in range(len(moves)): p = moves[i]-1 for j in range(len(board)): if board[j][p] != 0: answer.append(board[j][p]) board[j][p] = 0 break k = 0; cnt = 0; while k < len(answer)-1: if answer[k] == answer[k+1]: del answer[k] del answer[k] cnt = cnt + 2 if k != 0: k = k-1 else: k = k + 1 return cnt
모범코드
def solution(board, moves): stacklist = [] answer = 0 for i in moves: for j in range(len(board)): if board[j][i-1] != 0: stacklist.append(board[j][i-1]) board[j][i-1] = 0 if len(stacklist) > 1: if stacklist[-1] == stacklist[-2]: stacklist.pop(-1) stacklist.pop(-1) answer += 2 break return answer
반성)