A. 문제설명
문제에 대한 자세한 설명은 링크 참조
programmers.co.kr/learn/courses/30/lessons/64061
1. N*N 크기의 배열이 존재
2. 크레인이 각 열을 이동하며 맨 위의 인형을 뽑는다. 없는경우, 아무 행동도 하지 않음
3. 인형을 뽑아, 바구니에 쌓았을 때 같은 인형 두개가 겹치는 경우 없어짐
4. 모든 명령을 받아 수행하고, 인형을 겹쳐 없어지는 갯수를 구하라
B. 접근법
스택을 이용하여 간단하게 풀 수 있는 문제, 나는 C++ 벡터로 쉽게 풀이하였다. 명령이 들어오는 대로 인형을 뽑아 바구니에 담고, 벡터의 back()에서 같은 게 두개 겹치면 빼주고 점수를 계산
C. 풀이
1. 열 번호를 받아 해당 열의 가장 윗칸의 인형을 반환하고 해당 칸을 비움, 없으면 -1 반환
2. 크레인의 위치에서의 인형을 찾고, 보드를 업데이트
3. 바구니가 비어있지 않으면서, 새로 뽑은 인형과 바구니 맨 위 인형이 같으면 POP
4. 그 외의 경우는 바구니에 뽑은 인형을 넣음
5. 최종적으로 계산한 점수를 반환
D. 내 코드