코딩코딩

[프로그래머스] level1 크레인 인형뽑기 게임 - 파이썬(Python)

Jerry Jun 2020. 8. 19. 10:30
728x90

문제

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

level1 크레인 인형뽑기

 

 

코드

def solution(board, moves):
    new_board = []; bucket = []; count = 0
    for i in range(len(board[0])):
        new_board.append([])
        for j in range(len(board)):
            new_board[i].append(board[j][i])
    for i in moves:
        for j in range(len(new_board[0])):
            if(new_board[i-1][j] > 0 and count == 0):
                bucket.append(new_board[i-1][j])
                new_board[i-1][j] = 0
                count = 1
        count = 0
    b,c = len(bucket),len(bucket)
    while(1):
        for i in range(len(bucket)):
            try :
                if(bucket[i] == bucket[i+1]):
                    del bucket[i]; del bucket[i]
            except:
                pass
        if(b == len(bucket)):
            break
        else:
            b = len(bucket)
    return c-b

 

코드 설명

board 에 2차원 배열을 입력받고 moves 에 1차원 배열을 입력받았다.

 

new_board = 가로로 되어 있는 board 를 세로로 넣어 알기 쉽게 만든다.

bucket = 뽑혀져 나온 배열을 입력받는다.

 

while문 : bucket의 요소와 그 다음 요소를 비교해서 같다면 삭제한다.

 

bucket의 처음 원본 길이와 삭제 후 길이를 비교 후 반환!

 

correct
성공

 

programmers

300x250