[2021 카카오 채용연계형 인턴십] - 거리두기 확인하기

이서현·2021년 7월 12일
0

Algorithm

목록 보기
48/76

07.12에 푼 문제입니다🌷
거리두기 확인하기

function solution(places) {
    var answer = [];
    
    places.map(place=>{
        answer.push(settingCheck(place))
    })
    
    return answer;
}

function settingCheck(place){
    
    for(let row=0;row<place.length;row++){
        for(let col=0;col<place.length;col++){
            if(place[row][col]==='P'){
                if(row+1<place.length) 
                    if(place[row+1][col]==='P') return 0
                if(col+1<place.length) 
                    if(place[row][col+1]==='P') return 0
                if(col+1<place.length&&row+1<place.length) 
                    if(place[row+1][col+1]==='P') {
                        if(place[row+1][col]==='O'||place[row][col+1]==='O') return 0
                    }
                if(row>0&&col+1<place.length){
                    if(place[row-1][col+1]==='P') {
                        if(place[row-1][col]==='O'||place[row][col+1]==='O') return 0
                    }
                }
                
                if(row+2<place.length) 
                    if(place[row+2][col]==='P'&&place[row+1][col]==='O') return 0
                if(col+2<place.length) 
                    if(place[row][col+2]==='P'&&place[row][col+1]==='O') return 0
            }
        }
    }
    
    
    return 1
}
profile
안녕하세요. 이서현입니다( ღ'ᴗ'ღ )

0개의 댓글