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