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 answer728x90
    
    
  '알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 튜플 (0) | 2024.05.15 | 
|---|---|
| [프로그래머스] 호텔 방 배정 (0) | 2024.05.15 | 
| [프로그래머스] 징검다리 건너기 (0) | 2024.05.15 | 
| [프로그래머스] 빛의 경로 사이클 (1) | 2024.05.12 | 
| [프로그래머스] 금과 은 (0) | 2024.05.12 |