반응형
풀어보았다!
function solution(board, moves) {
const box = [];
const trash = [];
for(let i = 0 ; i < moves.length ; i++){
for(let j = 0 ; j < board.length ; j++){
var rowS = board[j][moves[i]-1];//변하는 값이므로 var로 지정
if(rowS !== 0){
box.push(rowS);//인형 넣는 곳
board[j][moves[i]-1] = 0;//인형이 있었던 곳 빈 자리 만들기
break;//inner 반복문 종료
}
}
}
for(let k = 0 ; k < box.length ; k++){
if(box[k] === box[k-1]){
trash.push(box.splice(k,1));
//겹치면 box에서 지우고 하나씩 trash에 넣기
trash.push(box.splice(k-1,1))
k--;//반복문 순환을 위해 뺀만큼 K 감소
k--;
}
}
return trash.length;//사라진 인형 수 반환
}
solution(board,moves);
//board의 좌측 상단부터 0,0~우측하단까지 n,n
//처음 moves = m일때 board[0][m] 값 추출
//값이 0이라면 board[1][m]값 추출 .. 반복
//새로운 배열 box = []에 저장
//같은 값이 붙어 있으면 두 값을 다른 배열 trash = []에 저장
//trash.length 리턴
레벨1이지만 기분은 좋다!
출처)
https://programmers.co.kr/learn/courses/30/lessons/64061
반응형
'IT > Algorithm' 카테고리의 다른 글
프로그래머스) 하샤드 수 (0) | 2021.06.22 |
---|---|
프로그래머스) 문자열 내 p와 y의 개수 (0) | 2021.06.18 |
프로그래머스) 같은 숫자는 싫어 (0) | 2021.06.18 |
프로그래머스) K번째 수 (0) | 2021.06.17 |
프로그래머스) 완주하지 못한 선수 (0) | 2021.06.17 |