https://programmers.co.kr/learn/courses/30/lessons/64061
#basket에서 인형을 삭제할지 판단하는 함
def determinator(answer, basket):
if(basket[-1] == basket[-2]):
basket.pop()
basket.pop()
answer += 2
return answer
else:
return answer
#각각의 칸에서 가장 높은 곳에 있는 인형을 찾는 함수
def find_top(board, m):
for height in range(len(board)):
if board[height][m] == 0:
continue
else:
temp_v = board[height][m]
board[height][m] = 0
return temp_v
def solution(board, moves):
answer = 0
basket = []
#크레인으로 옮긴 인형이 쌓일 임시 리스트
for m in moves:
top = find_top(board, m-1)
if top is not None:
basket.append(top)
if len(basket) > 1:
answer = determinator(answer, basket)
return answer
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
코딩 테스트 문제를 처음 풀다 보니 간단한 문제를 복잡하게 풀려고 한 것 같다.
또한 문제를 풀며 언어의 기초 지식부터 익혀둬야 한다는 것을 깨달았다.
몇 개의 문제를 더 풀며 기초 코드들을 확실하게 익히고 여러 알고리즘을 공부하며 코딩 테스트 준비를 더욱 열심히 해야 할 것 같다.