728x90
문제 설명
answer는 없어진 인형의 갯수고 stack은 바구니다.
moves 배열의 크기만큼 for문을 반복하여 board에 인형이 없으면 continue로 스킵하고 있으면 해당 인형의 번호를 peek에 넣는다.
만약 바구니에 인형이 있다면 바구니의 가장 위에 있는 인형과 peek을 비교하여 같으면 pop을 하고 board의 값을 0으로 바꿔준다. 없으면 그대로 바구니에 넣고 board의 값을 0으로 바꿔준다.
전체 코드
def solution(board, moves):
answer = 0
stack = []
for i in range(len(moves)):
for j in range(len(board)):
if(board[j][moves[i]-1] == 0):
continue
peek = board[j][moves[i]-1]
if stack:
if(peek == stack[-1]):
answer += 2
stack.pop()
board[j][moves[i]-1] = 0
break
stack.append(peek)
board[j][moves[i]-1] = 0
break
return answer
728x90
반응형
'코딩테스트 > 파이썬' 카테고리의 다른 글
백준 17478번 재귀함수가 뭔가요? (0) | 2021.01.29 |
---|---|
백준 1629번 곱셈 (0) | 2021.01.28 |
프로그래머스 level1 다트 게임 (2) | 2021.01.25 |
프로그래머스 level1 실패율 (0) | 2021.01.24 |
프로그래머스 level1 키패드 누르기 (0) | 2021.01.23 |