Algorithm

카카오 테스트 크레인 인형뽑기 게임

Nanamare 2020. 4. 17. 14:33
728x90

https://programmers.co.kr/learn/courses/30/lessons/64061

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

public class Programmer {

    public static void main(String[] args) {
        int[][] input = {{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}};
        int[] move = {1, 5, 3, 5, 1, 2, 1, 4};
        System.out.print(solution(input, move));
    }

    private static int solution(int[][] board, int[] moves) {
        List<Integer> item = new ArrayList<>();
        int squareSize = board.length;
        int result = 0;
        for (int col : moves) {
            for (int j = 0; j < squareSize; j++) {
                if (board[j][col - 1] != 0) {
                    item.add(board[j][col - 1]);
                    board[j][col - 1] = 0;
                    result += getSameItemCount(item) * 2;
                    break;
                }
            }
        }
        return result;
    }

    private static int getSameItemCount(List<Integer> item) {
        int position = -1;
        for (int i = 0; i < item.size() - 1; i++) {
            if (item.get(i).equals(item.get(i + 1))) {
                position = i;
            }
        }
        if (position == -1) {
            return 0;
        } else {
            item.remove(position);
            item.remove(position);
            return 1;
        }
    }

}

 

오랜만에 재미로..

728x90