https://school.programmers.co.kr/learn/courses/30/lessons/64061
import java.util.ArrayList;
import java.util.Stack;
class Solution {
public int solution(int[][] board, int[] moves) {
int answer=0;
ArrayList<Stack<Integer>> aa = new ArrayList<Stack<Integer>>();
for(int i=0;i<board.length;i++)
aa.add(new Stack<Integer>());
for(int i=board.length-1;i>=0;i--) {
for(int j=0;j<board.length;j++) {
Stack<Integer> a = aa.get(j);
if(board[i][j]==0)continue;
else a.add(board[i][j]);
}
}
Stack<Integer> bb = new Stack<Integer>();
for(int i=0;i<moves.length;i++) {
int b = moves[i]-1;
Stack<Integer> cc = aa.get(b);
if(cc.isEmpty())continue;
int c = cc.pop();
if(!bb.isEmpty()&&bb.peek()==c) {
//.out.println("peek:"+bb.peek()+"pop:"+c);
answer+=2;bb.pop();
}
else {
bb.add(c);//System.out.println("peek:"+bb.peek());
}
}
return answer;
}
}
'Programmers > Java, Ruby' 카테고리의 다른 글
프로그래머스 Java / Ruby : 가장 가까운 같은 글자 (0) | 2022.12.14 |
---|---|
프로그래머스 Java : 키패드 누르기 (0) | 2022.12.12 |
프로그래머스 Java : 완주하지 못한 선수 (0) | 2022.12.09 |
프로그래머스 Java / Ruby : 체육복 (0) | 2022.12.07 |
프로그래머스 Java / Ruby : 푸드 파이트 (0) | 2022.12.05 |