(풀이)
import java.util.*;
class Main {
public int solution(int[][] board, int[] moves){
int answer=0;
Stack<Integer> stack = new Stack<>();
for(int pos : moves){
for(int i=0; i<board.length; i++){
if(board[i][pos-1]!=0){
int tmp=board[i][pos-1];
board[i][pos-1]=0;
if(!stack.isEmpty() && tmp==stack.peek()){
answer+=2;
stack.pop();
}
else stack.push(tmp);
break;
}
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int[][] board=new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
board[i][j]=kb.nextInt();
}
}
int m=kb.nextInt();
int[] moves=new int[m];
for(int i=0; i<m; i++) moves[i]=kb.nextInt();
System.out.println(T.solution(board, moves));
}
}
'취업준비 - 코테 , 면접 > 알고리즘(코테) 공부' 카테고리의 다른 글
알고리즘입문(Java) - Stack,Queue 6.공주구하기 (0) | 2023.03.24 |
---|---|
알고리즘입문(Java) - Stack,Queue 4.후위식 연산(postfix) (0) | 2023.03.23 |
알고리즘입문(Java) - Stack,Queue 2.괄호문자제거 (0) | 2023.03.20 |
알고리즘입문(Java) - Stack,Queue 1.올바른괄호 (0) | 2023.03.20 |
알고리즘입문(Java) - HashMap,TreeSet 5. k번째 큰 수 (0) | 2023.03.20 |