728x90
문제
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의 처음 원본 길이와 삭제 후 길이를 비교 후 반환!
300x250
'코딩코딩' 카테고리의 다른 글
[프로그래머스] level1 완주하지 못한 선수 (0) | 2020.09.02 |
---|---|
[프로그래머스] level2 더 맵게 - 파이썬(Python) (0) | 2020.08.28 |
[프로그래머스] level2 다리를 지나는 트럭 - 파이썬(Python) (0) | 2020.08.27 |
[프로그래머스] level2 주식가격 - 파이썬(Python) (0) | 2020.08.23 |
[프로그래머스] level1 문자열 내 마음대로 정렬하기 - 파이썬(Python) (0) | 2020.08.22 |