examplePractice
프로그래머스) 크레인 인형뽑기 게임
shiherlis
2023. 3. 22. 14:42
문제: https://school.programmers.co.kr/learn/courses/30/lessons/64061
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.Stack;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer = 0; // 터진 인형 개수
Stack<Integer> bucket = new Stack<>(); // 바구니
for (int i = 0; i < moves.length; i++) {
int target = moves[i]-1;
int crane = 0; // 크레인으로 뽑은 인형(숫자)
int j = 0;
while(j < board.length) {
if (board[j][target] != 0) { // 해당 칸의 인형 유무 확인
crane = board[j][target]; // 인형 뽑음
board[j][target] =0; // 인형 뽑은 칸 초기화
break;
}
j++;
}
// 해당 레인에 인형이 있었다면 실행
if (j < board.length) {
if (!bucket.empty() && crane == bucket.peek()) {
bucket.pop();
answer += 2;
} else
bucket.push(crane);
}
}
return answer;
}
}
- 스택 쓰라고 만든 문제 같다.
- 문제가 좀 헷갈리긴 했지만 재밌는 문제!