


-Code
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int size = board.length;
// 뽑은 인형을 담을 덱
Deque<Integer> basket = new ArrayDeque<>();
int answer = 0;
for (int move : moves) {
for(int i = 0; i < size; i++) {
// 인형이 있는 경우
if (board[i][move - 1] != 0) {
// 바구나가 안비어있고 맨 위의 인형과 같은 경우
if(!basket.isEmpty() && basket.peekLast() == board[i][move - 1]) {
// 인형 제거 및 사라진 인형 2개 추가
basket.pollLast();
answer += 2;
} else {
// 바구니가 비었거나 맨 위 인형과 다른 경우 쌓음
basket.addLast(board[i][move - 1]);
}
// 인형을 뽑았으므로 빈 공간으로 변경
board[i][move - 1] = 0;
break;
}
}
}
return answer;
}
}'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 17095번 Min-Max Subsequence (0) | 2026.03.15 |
|---|---|
| [백준/Java] 6971번 Nasty Numbers (0) | 2026.03.15 |
| [백준/Java] 10280번 Pizza voting (0) | 2026.03.14 |
| [프로그래머스/Java] 성격 유형 검사하기 (0) | 2026.03.13 |
| [백준/Java] 1283번 단축키 지정 (0) | 2026.03.13 |