728x90
https://programmers.co.kr/learn/courses/30/lessons/64061
출처 : 프로그래머스
def solution(board, moves):
answer = 0
basket = [] # 바구니 스택
for move in moves:
for i in board:
if i[move-1] != 0: # 인형이 있다면
basket.append(i[move - 1]) # 바구니에 넣는다.
i[move - 1] = 0 # 인형 빼고 빈칸으로 만들어준다.
# print("before",basket)
if len(basket) > 1:
if basket[-1] == basket[-2]: # 바구니 위에 같은 인형 2개 연속하면
answer += 2
basket.pop() # 연속한 인형 두개 pop()
basket.pop()
break
return answer
풀이
moves 배열에 있는 (수-1) 번째 열의 board 값 비교한다.
그곳에 인형이 있다면 그 인형을 바구니에 넣어준다.
바구니에는 연속해서 2개 같은 인형이 있으면 둘 다 삭제해주고 answer+=2 해준다.
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 전화번호 목록 python (0) | 2022.03.25 |
---|---|
[프로그래머스] 완주하지 못한 선수 python (0) | 2022.03.23 |
[프로그래머스] 키패드 누르기 python (0) | 2022.03.22 |
[프로그래머스] 신규 아이디 추천 python (0) | 2022.03.22 |
[프로그래머스] 숫자 문자열과 영단어 python (0) | 2022.03.22 |