크레인 인형뽑기 게임
오랜만에 좀 막혔던 문제였다...
뭐일단 스스로 결국 풀긴했는데 좀 검색해보니까 스택을 사용한 경우가 많았다
처음에 문제 구현방식 고려할때 스택도 괜찮아보였는데 좋은 방법인거같으니 다음에 시간날때 스택을 사용해서 다시 풀어보자!
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
int[][] resized = new int[board.length][board.length];
for(int i=0; i<resized.length; i++){
for(int j=0; j<resized.length; j++){
resized[i][j] = board[j][i];
}
}
ArrayList<Integer> list = new ArrayList<>();
for(int i=0; i<moves.length; i++){
int t = moves[i]-1;
int tmp = 0;
while(tmp<resized.length){
if(resized[t][tmp]!=0){
list.add(resized[t][tmp]);
resized[t][tmp]=0;
break;
}
tmp++;
}
}
ArrayList<Integer> tmp = list;
// for(int i=0; i<tmp.size()-1; i++){
// if(tmp.get(i) == tmp.get(i+1)){
// tmp.remove(i);
// tmp.remove(i);
// answer+=2;
// i=0;
// }
// }
for(int i=0; i<tmp.size(); i++){
if(i<tmp.size() -1){
while(tmp.get(i) == tmp.get(i+1)){
tmp.remove(i);
tmp.remove(i);
answer+=2;
if(i!=0)
i--;
else{
i=-1;
break;
}
}
}
}
return answer;
}
}
Last updated
Was this helpful?