function solution(places) {
var answer = [];
// 같던곳은 체크하는 함수 하나 만들고 dfs 로 가는 수박에 업는듯
const inner= function(ima_function,check_function,y,x){
//여기서 이제 dfs 하면됨 저번에 외웠던? dfs 식으로 해보자
var yy=[+1,0,-1,0];
var xx=[0,+1,0,-1]
var hey_que=[[y,x,0]];
check_function[y][x]=1;
while(hey_que.length>0){
var [pop_y,pop_x,number_ima]= hey_que.pop();
for(var i=0 ; i<4; i++){
var change_y= pop_y+yy[i];
var change_x= pop_x+xx[i];
if(change_y>=0 && change_x>=0 && change_y<5&& change_x<5 &&
check_function[change_y][change_x]!=1 &&number_ima+1<=2&&
ima_function[change_y][change_x]=='O'){
hey_que.push([change_y,change_x,number_ima+1]);
check_function[change_y][change_x]=1;
}
if( change_y>=0 && change_x>=0 && change_y<5&& change_x<5 && ima_function[change_y][change_x]=='P' && check_function[change_y][change_x]!=1 && number_ima+1<=2){
return 1;
}
}
}
return 0;
}
for(var i=0; i<places.length; i++){
places[i].map((el,index)=>{
places[i][index]=el.split('');
})
var check_Arr= Array.from({length:5},()=>Array(5).fill(0));
const inner_go= function(go,check_Arr){
for(var y=0; y<5; y++){
for(var x=0; x<5; x++){
if(go[y][x]=='P'){
if( inner(go,check_Arr,y,x) ==1){
return 1;
}
}
}
}
return 0 ;
}
var fianl_answer=inner_go(places[i],check_Arr);
if(fianl_answer==0){
answer[i]=1;
}
else{
answer[i]=0;
}
}
return answer;
}
//solution([["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"]])