Front-end Developer
프로그래머스 크레인 인형뽑기 [파이썬] 본문
문제
문제풀이
def solution(board, moves):
lst = []
# moves가 다 끝나고 나서 lst 안에서 터트려진 인형의 개수
answer = 0
for i in moves:
# board안에 있는 맨 마지막 리스트에 i번째 숫자가 0이면 가져올꺼가 없기 때문에 제외한다.
if board[-1][i-1] != 0:
k = 0
# board 첫번 째 리스트부터 시작해서 0값을 가지고 있지 않은 k번째 리스트를 찾는다.
while board[k][i-1] == 0:
k = k + 1
# 0이 아닌 다른값을 찾은후에 lst에 넣는다.
lst.append(board[k][i-1])
# lst안에 넣은값은 board에서 빼준다.
board[k][i-1] = 0
# lst[-1]과 lst[-2]를 비교하기 위해서는 lst의 길이가 1보다 커야한다.
if len(lst) > 1:
# 제일 바깥쪽 두 숫자가 같아야 터지는 거기 때문에 index는 -1, -2로 정했다.
if lst[-1] == lst[-2]:
# 같으면 pop()을 두번해서 index값 -1,-2를 lst에서 빼낸다.
lst.pop()
lst.pop()
# answer에 2를 더한다. 2개 숫자가 터졌기 때문에.
answer = answer + 2
return answer
'알고리즘' 카테고리의 다른 글
프로그래머스 두개뽑아서 더하기 [자바스크립트] (0) | 2021.04.25 |
---|---|
프로그래머스 피보나치 수 [파이썬] (0) | 2021.04.18 |
백준 알고리즘 15650 [파이썬] (0) | 2021.03.18 |
백준 알고리즘 2630[파이썬] (0) | 2021.03.18 |
백준 알고리즘 1260 [파이썬] (0) | 2021.03.17 |
Comments