난이도 : Level. 1
언어 : Javascript
출제 내역 : 2019 카카오 개발자 겨울 인턴십
죠르디는 카카오 캐릭터로 뿌요뿌요 게임을 하고 있습니다.
인형뽑기 툴에 뿌요뿌요 룰을 접목한 게임인데,
캐릭터 두개가 겹치게 되면 캐릭터가 사라져 점수를 얻는 게임입니다.죠르디가 움직인 걸로 몇점을 얻게 될까요?
function solution(board, moves) {
var answer = 0;
let box = [];
for(let i = 0; i<moves.length; i++) {
for(let v = 0; v<board.length; v++)
if (board[v][moves[i]-1] > 0) {
box.push(board[v][moves[i]-1])
board[v][moves[i]-1] = 0
break
}
board
에 들어오는 값이 0인 경우는 비어있는 것을 뜻하기에
반복문을 돌릴때 해당 배열에 값이 0인 경우를 배제해도록
조건문을 걸어 돌려봅니다.
그 이후, 데이터가 0 이상인 것은 뽑아졌다는 것을 인지하기 위해
해당 배열의 값을 0으로 변경해줍니다.
그 후 break를 통해서 더 이상 이 반복문이 진행되지 않도록 합니다
for (let i = 0; i<box.length; i++) {
if (box[i] === box[i+1]) {
answer++
box.pop(box[i+1])
box.pop(box[i])
}
}
}
return answer*2;
}
한 번의 뽑는 과정이 끝나면
다시 반복문을 이용해 현재 뽑힌 데이터의 숫자를 비교한 뒤
같은 숫자라면 사라지도록 하고, 그 횟수를 answer
에 넣어 저장한 뒤,
사라진 데이터의 숫자를 답으로 내야하니 *2를 해서 결과를 냅니다.
지금까지 푼 카카오 중에서는 그나마 제일 수월하게 했던 것 같습니다.
역시나 카카오는 카카오군요