[Java알고리즘] 5-3. 크레인 인형뽑기(카카오)
🌼 Problem
https://programmers.co.kr/learn/courses/30/lessons/64061
![]
🍔 Solution + 강사
public static int Solution() {
int count = 0;
int[][] arr = new int[5][5];
arr[0][0] = 0;
arr[0][1] = 0;
arr[0][2] = 0;
arr[0][3] = 0;
arr[0][4] = 0;
arr[1][0] = 0;
arr[1][1] = 0;
arr[1][2] = 1;
arr[1][3] = 0;
arr[1][4] = 3;
arr[2][0] = 0;
arr[2][1] = 2;
arr[2][2] = 5;
arr[2][3] = 0;
arr[2][4] = 1;
arr[3][0] = 4;
arr[3][1] = 2;
arr[3][2] = 4;
arr[3][3] = 4;
arr[3][4] = 2;
arr[4][0] = 3;
arr[4][1] = 5;
arr[4][2] = 1;
arr[4][3] = 3;
arr[4][4] = 1;
int[] moves = {1, 5, 3, 5, 1, 2, 1, 4};
Stack<Integer> st = new Stack<>();
for (int j : moves) {
for (int i = 0; i < arr.length; i++) {
if (arr[i][j - 1] != 0) {
// 인형이 있는 곳까지 내려가기 위해 arr[i][j-1]!=0
if (!st.isEmpty() && st.peek() == arr[i][j - 1]) {
// 동일한 경우는 없애야함
st.pop();
count += 2;
} else {
// stack에 맨 위에 있는 인형과 동일하지 않은 경우
st.push(arr[i][j - 1]);
}
arr[i][j - 1] = 0;
break;
}
}
System.out.println(st);
}
return count;
}
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static int Solution2(int[][] arr, int[] moves) {
int count = 0;
Stack<Integer> st = new Stack<>();
for (int j : moves) {
for (int i = 0; i < arr.length; i++) {
if (arr[i][j - 1] != 0) {
if (!st.isEmpty() && st.peek() == arr[i][j - 1]) {
st.pop();
count += 2;
} else {
st.push(arr[i][j - 1]);
}
arr[i][j - 1] = 0;
break;
}
}
}
return count;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] arr = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = sc.nextInt();
}
}
int m = sc.nextInt();
int[] moves = new int[m];
for (int i = 0; i < m; i++) {
moves[i] = sc.nextInt();
}
System.out.println(Solution2(arr, moves));
}
}
Author And Source
이 문제에 관하여([Java알고리즘] 5-3. 크레인 인형뽑기(카카오)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dingdoooo/Java알고리즘-5-3.-크레인-인형뽑기카카오저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)