[프로그래머스] 바탕화면 정리 (level1, JavaScript)

이민영·2023년 10월 17일

문제

https://school.programmers.co.kr/learn/courses/30/lessons/161990

문제풀이

function solution(wallpaper) {
  
    const answer = [];
    
    // x축, y축 각각 격자점을 담을 배열들 
    const yAxis = [];
    const xAxis = [];
    
    //wallpaper 원소 하나하나씩 돌아서 x축, y축 배열에 각각 격자점들을 담아준다 
    for(let i = 0; i< wallpaper.length; i++){
        for(let j = 0; j < wallpaper[i].length; j++){
            if(wallpaper[i][j] === '#'){
                yAxis.push(i);
                xAxis.push(j);
            }
        }
    }
    
    // 격자점을 담은 배열중에 가장 작은 수는 점 S(lux, luy)로 담아주고, 
    // 가장 큰수는 점 E(rdx, rdy)로 담아준다.
    answer.push(Math.min(...yAxis));
    answer.push(Math.min(...xAxis));
    answer.push(Math.max(...yAxis) +1);
    answer.push(Math.max(...xAxis) +1);
    
    return answer;
}

느낀점

정답률 치고는 쉬운문제이다. 문제만 이해하면 금방 풀 수 있다.

profile
Frontend Developer

0개의 댓글