2019 카카오 개발자 겨울 인턴십 - 크레인 인형뽑기게임
나의 답안
def solution(board, moves):
answer = 0
stack = []
for j in moves:
for i in range(len(board[1])):
if board[len(board[1])-1][j-1] == 0:
break
elif board[i][j-1] !=0:
stack.append(board[i][j-1])
board[i][j-1] = 0
if len(stack) >=2 and stack[-1] == stack[-2]:
stack = stack[:-2]
answer +=2
break
return answer
'''
[
[0,0,0,0,0], 5층
[0,0,1,0,3], 4층 네오 = 1, 콘 = 3
[0,2,5,0,1], 3층 무지 = 2, 프로도 = 5
[4,2,4,4,2], 2층 어피치 = 4
[3,5,1,3,1] 1층
]
'''
느낀점: 이번 문제는 쉬워서 최고답안과 나의 답안의 차이가 없어서 포스팅에 실지 않는다. 문제를 보자마자 아, stack 문제구나 싶었다. 알고리즘문제를 풀때 기본 자료구조를 알면 쉽게 문제를 풀 수 있다는 것을 알게 되었다.
문제는 풀었으나 채점에 계속오류가나 무엇이 원인인지 몰랐는데 나는 문제 예시인 5 5에 맞춰 풀었으나 문제는 55~30*30 까지 변동이 있는 문제 였었다. 그 부분만 수정했더니 잘 넘어갔다. 이번 문제를 풀고 자료구조에 대한 지식이 있으면 쉽게 문제를 풀 수 있다는 것을 알게되었다.