programmers Level1 (5)

Backend, DataEngineer·2021년 11월 29일
0
post-thumbnail

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 까지 변동이 있는 문제 였었다. 그 부분만 수정했더니 잘 넘어갔다. 이번 문제를 풀고 자료구조에 대한 지식이 있으면 쉽게 문제를 풀 수 있다는 것을 알게되었다.

profile
오늘 더 좋은 사람, 더 좋은 하루

0개의 댓글

관련 채용 정보