카테고리 없음
[프로그래머스] 크레인 인형뽑기 게임
메리짱123
2024. 10. 23. 10:02
반응형
Stack | ArrayDeque | |
동기화 | O | X |
스레드안전 | O | X |
성능 | 비교적 느림 | 비교적 빠름 |
굳이 Stack을 쓸 필요가 없고 ArrayDeque가 비교적 빠르다 하니 ArrayDeque사용
집게로 뽑으러 갔는데 인형이 없는 경우 stack 접근 안하도록 continue 처리해야함;;
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
Deque<Integer> stack = new ArrayDeque<>();
for(int move : moves){
int index = move -1;
int dollNo = 0;
//인형 꺼내고 0 넣기
for(int i=0;i<board.length;i++){
if(board[i][index] != 0){
dollNo = board[i][index];
board[i][index] = 0;
break;
}
}
if(dollNo == 0 ) continue;
if(stack.isEmpty()){
stack.push(dollNo);
}else{
//마지막에 넣은 것과 같은경우
if(stack.peek() == dollNo){
stack.pop();
answer+=2;
}else{
stack.push(dollNo);
}
}
}
return answer;
}
}
반응형