[programmers] 크레인인형뽑기게임 (2019 카카오 개발자 겨울 인턴십)

resilient

·

2021. 8. 24. 17:24

728x90
반응형

https://programmers.co.kr/learn/courses/30/lessons/64061

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[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

  • 내가 처음에 알고리즘 풀이를 시작했을 때, 
    프로그래머스에 있는 카카오기출문제를 풀어봐야지라고 마음을 먹고,
    '레벨 1은 어떤 문제일까?' 하고 봤었다. 근데, 문제부터 너무 어렵게 생겼었다. 
    문제를 읽고 어떻게 풀어야하는지도 모르겠고,,, 멘붕이 왔었는데
    꾸준히 풀다보니 성장한 건지... 보자마자 풀어재꼈다.
  • 정말 간단하다. 먼저 for문으로 주어진 moves를 하나씩 확인하면서 그 세로줄에 있는 맨 위 즉, 가장 먼저 0이 아닌 숫자가 나왔을 때 그 값을 바구니 리스트에 차례차례 넣어주면 된다.
  • 바구니 리스트에서 가장 마지막 인형 번호와 그 전 인형 번호가 같으면 두 개를 없애주고 anwer += 2를 해주면 된다.
def solution(board, moves):
    answer = 0
    data = []
    for i in moves:
        for j in range(len(board)):
            if board[j][i-1] !=0:
                data.append(board[j][i-1])
                board[j][i-1] = 0
                break
        if len(data) > 1:
            if data[-1] == data[-2]:
                del data[-1]
                del data[-1]
                answer += 2

    return answer
반응형