정구리의 우주정복

[프로그래머스] 크레인 인형뽑기 게임 파이썬 본문

ALGORITHM/SOLVE

[프로그래머스] 크레인 인형뽑기 게임 파이썬

Jungry_ 2020. 5. 28. 23:51
반응형

문제 : https://programmers.co.kr/learn/courses/30/lessons/64061?language=python3

 

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

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

 

입출력:

입출력 예

boardmovesresult

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

 

생각해보기 :

0인지 아닌지 체크해주고 0이면 스택에 넣어주고 값이 있던 곳을 0으로 바꿔줌 ! 

그 다음에 스택을 확인해서 같으면 pop 을 해준다 

!!여기서 중요한건 pop(-1) 을 두번 해줘야함  -> pop(-1),pop(-2) 로 착각하지말자 

 

최종 소스코드 :

def solution(board, moves):
    stack = [] 
    answer = 0
    for i in moves: #move 에 대해서  (1-5까지)
        i =i-1
        for j in range(len(board)):
            if board[j][i] != 0:
                stack.append(board[j][i])
                board[j][i] = 0
                break
        if len(stack) >=2:
            if stack[-1] == stack[-2]: #두개가 같을 때
                stack.pop(-1)
                stack.pop(-1)
                answer += 2
    return answer

짜잔

 

반응형
Comments