프로그래머스 - 크레인 인형뽑기 게임

youngkyu MIn·2023년 12월 13일
0

문제링크 - 프로그래머스 - 크레인 인형뽑기 게임

2019년 카카오 겨울인턴십 문제를 풀어보았다.

import java.util.ArrayList;
import java.util.List;

class Solution {
    public int solution(int[][] board, int[] moves) {

        List<Integer> list = new ArrayList<>();
        int answer = 0;

        for (int move : moves) {
            for (int i = 0; i < board.length; i++) {
                if(board[i][move-1] != 0) {
                    list.add(board[i][move-1]);
                    board[i][move-1] = 0;
                    break;
                }
            }
        }

        return solution2(list)*2;
    }

    public static int solution2(List<Integer> list) {
        boolean found = false;
        for (int i = 0; i < list.size() - 1; i++) {
            if (list.get(i).equals(list.get(i + 1))) {
                list.remove(i);
                list.remove(i);
                found = true;
                break;
            }
        }
        if (found) {
            return 1 + solution2(list);
        } else {
            return 0;
        }
    }
}

뽑은 인형은 순서대로 list 에 때려넣었고, solution2 에서 연속값 검사를 했다.

단, 4,3,3,4 같은 순서로 list 가 구성되면 3,3 이 지워지고 다시 4,4 가 만난다.

이를 위해 solution2 를 재귀적으로다가 호출해서 처리했다.

profile
한 줄 소개

0개의 댓글

관련 채용 정보