[Programmers][Java]Crain兄を捕まえるゲーム
11802 ワード
https://programmers.co.kr/learn/courses/30/lessons/64061
📒 質問する
📒 質問する
📒 せいげんじょうけん
🌻 コード#コード# import java.util.Stack;
public class CraneGame {
public static int solution(int[][] board, int[] moves) {
int answer = 0;
// 바구니는 스택으로
Stack<Integer> basket = new Stack<>();
for(int k = 0;k< moves.length;k++) {
for(int i = 0; i< board.length;i++){
if(board[i][moves[k]-1]>0) {
// basket.size()>=1 이부분을 다시 생각해서 고쳤다.
if(basket.size()>=1 && basket.peek() == board[i][moves[k]-1]) {
basket.pop();
answer+=2;
}
else basket.push(board[i][moves[k]-1]);
board[i][moves[k]-1] = 0;
break;
}
}
}
return answer;
}
}
class Main{
public static void main(String[] args) {
int [][]b = {{0,0,1,0,0},{0,0,1,0,0},{0,2,1,0,0},{0,2,1,0,0},{0,2,1,0,0}};
int []m={1,2,3,3,2,3,1};
System.out.println(CraneGame.solution(b,m));
}
}
💡 整理する
👉 basket.size()>=1で直った部分は、かごの中にお人形さんが1人いたとき、もう1人の繰り返しのお人形さんが入ってきたら爆発するはずだったのですが、この部分とは思わなかったのでうろうろしていました。
Reference
この問題について([Programmers][Java]Crain兄を捕まえるゲーム), 我々は、より多くの情報をここで見つけました
https://velog.io/@hye_b/ProgrammersJava-크레인-인형뽑기-게임
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
🌻 コード#コード# import java.util.Stack;
public class CraneGame {
public static int solution(int[][] board, int[] moves) {
int answer = 0;
// 바구니는 스택으로
Stack<Integer> basket = new Stack<>();
for(int k = 0;k< moves.length;k++) {
for(int i = 0; i< board.length;i++){
if(board[i][moves[k]-1]>0) {
// basket.size()>=1 이부분을 다시 생각해서 고쳤다.
if(basket.size()>=1 && basket.peek() == board[i][moves[k]-1]) {
basket.pop();
answer+=2;
}
else basket.push(board[i][moves[k]-1]);
board[i][moves[k]-1] = 0;
break;
}
}
}
return answer;
}
}
class Main{
public static void main(String[] args) {
int [][]b = {{0,0,1,0,0},{0,0,1,0,0},{0,2,1,0,0},{0,2,1,0,0},{0,2,1,0,0}};
int []m={1,2,3,3,2,3,1};
System.out.println(CraneGame.solution(b,m));
}
}
💡 整理する
👉 basket.size()>=1で直った部分は、かごの中にお人形さんが1人いたとき、もう1人の繰り返しのお人形さんが入ってきたら爆発するはずだったのですが、この部分とは思わなかったのでうろうろしていました。
Reference
この問題について([Programmers][Java]Crain兄を捕まえるゲーム), 我々は、より多くの情報をここで見つけました
https://velog.io/@hye_b/ProgrammersJava-크레인-인형뽑기-게임
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import java.util.Stack;
public class CraneGame {
public static int solution(int[][] board, int[] moves) {
int answer = 0;
// 바구니는 스택으로
Stack<Integer> basket = new Stack<>();
for(int k = 0;k< moves.length;k++) {
for(int i = 0; i< board.length;i++){
if(board[i][moves[k]-1]>0) {
// basket.size()>=1 이부분을 다시 생각해서 고쳤다.
if(basket.size()>=1 && basket.peek() == board[i][moves[k]-1]) {
basket.pop();
answer+=2;
}
else basket.push(board[i][moves[k]-1]);
board[i][moves[k]-1] = 0;
break;
}
}
}
return answer;
}
}
class Main{
public static void main(String[] args) {
int [][]b = {{0,0,1,0,0},{0,0,1,0,0},{0,2,1,0,0},{0,2,1,0,0},{0,2,1,0,0}};
int []m={1,2,3,3,2,3,1};
System.out.println(CraneGame.solution(b,m));
}
}
👉 basket.size()>=1で直った部分は、かごの中にお人形さんが1人いたとき、もう1人の繰り返しのお人形さんが入ってきたら爆発するはずだったのですが、この部分とは思わなかったのでうろうろしていました。
Reference
この問題について([Programmers][Java]Crain兄を捕まえるゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@hye_b/ProgrammersJava-크레인-인형뽑기-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol