728x90
https://school.programmers.co.kr/learn/courses/30/lessons/64061
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
🤔 문제분석
스택자료구조를 활용하여 해결하였습니다.
- 주어진 보드를 문제에서 주어진 그림과 같이 스택 자료구조로 변환한다.
- 원하는 위치에가서 뽑아서 바구니에 집어넣는다.
- 바구니의 마지막 부분에 같은 인형이 온다면 인형을 제거시켜준다.
💻 코드
def solution(board, moves):
bag = []
n = len(board)
new_board = [[] for _ in range(n)]
for j in range(n):
for i in range(n-1, -1, -1):
if board[i][j]:
new_board[j].append(board[i][j])
answer = 0
for d in moves:
d -= 1
if new_board[d]:
doll = new_board[d].pop()
if bag and bag[-1] == doll:
bag.pop()
answer += 2
else:
bag.append(doll)
return answer
728x90
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 튜플 (0) | 2024.05.15 |
---|---|
[프로그래머스] 호텔 방 배정 (0) | 2024.05.15 |
[프로그래머스] 징검다리 건너기 (0) | 2024.05.15 |
[프로그래머스] 빛의 경로 사이클 (1) | 2024.05.12 |
[프로그래머스] 금과 은 (0) | 2024.05.12 |