코딩테스트 문제풀이/프로그래머스
[프로그래머스] 크레인 인형뽑기 게임
itaeiou
2020. 9. 25. 00:02
반응형
프로그래머스
2019 카카오 개발자 겨울 인턴십
programmers.co.kr/learn/courses/30/lessons/64061
코딩테스트 연습 - 크레인 인형뽑기 게임
[[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]] [1,5,3,5,1,2,1,4] 4
programmers.co.kr
JAVA
import java.util.ArrayList;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
int flag = 0;
int n = board[0].length;
ArrayList temp = new ArrayList();
for(int m=0; m<moves.length; m++) {
int dool = 0;
int mval = moves[m]-1;
for(int i=0; i<n; i++) {
if(board[i][mval] != 0) {
dool = board[i][mval];
board[i][mval] = 0;
break;
}
}
if(dool != 0) {
temp.add(dool);
}
}
while(flag == 0) {
flag = 1;
if(temp.size() > 1) {
for(int i=1; i<temp.size(); i++) {
if(temp.get(i-1) == temp.get(i)) {
temp.remove(i);
temp.remove(i-1);
answer += 2;
flag = 0;
break;
}
}
}
}
for(int i=0; i<temp.size(); i++) {
System.out.println(temp.get(i));
}
return answer;
}
}
JavaScript
function solution(board, moves) {
var answer = 0;
var len = board.length;
var temp = [];
for(var move in moves) {
var m = moves[move] - 1;
for(var i=0; i<len; i++) {
if(board[i][m] != 0) {
if(temp.length != 0 && board[i][m] == temp[temp.length-1]) {
temp.pop();
answer += 2;
} else {
temp.push(board[i][m]);
}
board[i][m] = 0;
break;
}
}
}
return answer;
}
반응형