프로그래머스_ 크레인인형뽑기게임_2019 카카오 개발자 겨울인턴

tami·2021년 1월 20일
2

알고리즘풀이

목록 보기
1/1
post-thumbnail

오늘의 알고리즘풀이는 프로그래머스를 이용했다.
깔끔한 화면,다양한 테스트 케이스 코딩테스트 연습하기에 정말 좋은 환경이다.
다만, 테스트 케이스 딱 하나 걸릴땐 뭔지 알려줄래? 😅


문제링크

문제

인형을 뽑아 중복되는 인형을 연속적으로 뽑았을 때 점수를 얻는다.

입출력 예시

답안

function solution(board, moves) {
    var answer = 0;
    var box =[];
    
    for(let i=0; i<moves.length;i++){
        for(let k=0 ; k<board.length ;k++){
            if(board[k][moves[i]-1]!= 0){
                if(box.slice(-1)[0] ==board[k][moves[i]-1]){
                    box.pop();
                    board[k][moves[i]-1]=0;
                    answer+=2;

                    break;
                }
                else{
                    box.push(board[k][moves[i]-1]);
                    board[k][moves[i]-1]=0;

                    break;      
                }
            }
        }
    }
    return answer;
      
}


꺼내서 -> 비교하기
1) board!=0 인 지점에서 꺼낸다
2) box에 넣기 전에 box의 마지막 요소 & 꺼낸것 비교
3) 같으면 두개 삭제하며 cnt+=2 다르면 box에 추가

아쉬운 점

이중 for 문과 잦은 if 조건절의 사용을 자제할 필요가 있다.

profile
자스베이더 Tami의 TILAND에 오신걸 환영합니다🗡

0개의 댓글