본문 바로가기
코딩테스트 연습

다시풀어본_크레인 인형뽑기 게임

by 부자독개 2020. 12. 8.
반응형
def solution(board, moves):
    answer = 0
    box = []
    for i in (moves):
        for depth in range(len(board)):
            if board[depth][i-1] == 0 : pass
            else :
                box.append(board[depth][i-1]) 
                board[depth][i-1] = 0
                break
    ## 같은 인형 없애주기
    check = -1
    while (check<0):
        if len(box) < 2 : break
        print(box)
        for i in range(len(box)-1):
            if box[i] == box[i+1]: 
                answer += 2 ## 인형같으면 2 더해주면됨.
                del(box[i])
                del(box[i]) ## 인형 두개 box에서 제거
                check = -1
                break
            else : check = 1
                
    return answer

이전 코드와 거의 동일함.

이번에 풀때 del 대신 remove를 사용해서 실패하는 케이스가 많았음. 

del과 remove의 차이점은 remove는 주어진 값을 제거하는데 리스트에서 맨앞의 값을 제거한다는것. 

즉, remove는 list안에 있는 값에 따라 내가 원하던 인덱스의 값이 아닌 다른 인덱스의 값이 제거될수 있다. 조심하자.

반응형

댓글