게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요.
import java.util.*;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0;
int boardSize = board.length;
Stack<Integer> stack = new Stack<>();
for (int move: moves) { // move : index+1
for (int i=0; i<boardSize; i++) {
if (board[i][move-1]>0) { // 인형이 있으면
if (stack.isEmpty()) {
stack.push(board[i][move-1]); // stack에 넣음
} else {
if (stack.peek()==board[i][move-1]) {
stack.pop(); // 인형 중복이니까 제거
answer += 2;
} else {
stack.push(board[i][move-1]); // stack에 넣음
}
}
board[i][move-1] = 0; // 0으로 초기화
break;
}
}
}
return answer; // 터트려져 사라진 인형
}
}
'코딩테스트' 카테고리의 다른 글
[백준 13458]시험 감독 (1) | 2023.01.29 |
---|---|
[프로그래머스 - 2022 KAKAO TECH INTERNSHIP]성격 유형 검사하기 (0) | 2022.10.10 |
[프로그래머스 - 2022 KAKAO BLIND RECRUITMENT]신고 결과 받기 (0) | 2022.08.07 |
[프로그래머스 - Summer/Winter Coding(~2018)]소수 만들기 (0) | 2022.07.31 |
[프로그래머스 - Summer/Winter Coding(~2018)]예산 (1) | 2022.07.03 |
댓글