[프로그래머스] 64061. 크레인 인형뽑기 게임
문제 링크
풀이 과정
기본 스택 문제입니다. 현재 골라진 인형 번호가 스택의 top 과 같다면, 그 수를 2씩 누적시켜 리턴하면 됩니다.
코드
import java.util.Stack;
public class Main {
public static int solution(int[][] board, int[] moves) {
int answer = 0;
Stack<Integer> stack = new Stack<>();
for (int move : moves) {
int i = 0;
while (i < board.length && board[i][move - 1] == 0) i++;
if (i == board.length) continue;
if (!stack.isEmpty() && stack.peek() == board[i][move - 1]) {
stack.pop();
answer += 2;
} else stack.push(board[i][move - 1]);
board[i][move - 1] = 0;
}
return answer;
}
public static void main(String[] args) {
solution(new int[][]{{0, 0, 0, 0, 0}, {0, 0, 1, 0, 3}, {0, 2, 5, 0, 1}, {4, 2, 4, 4, 2}, {3, 5, 1, 3, 1}}, new int[]{1, 5, 3, 5, 1, 2, 1, 4});
}
}
댓글남기기