일기

(JavaScript) 바탕화면 정리

Realuda72 2024. 12. 18. 22:59

풀이는 간단했기 때문에 구현만 잘 하면 될 것 같다.

 

먼저 바탕화면을 모두 2차원 배열로 구성할 필요는 없고, 파일이 있는 위치를 구한다.

모든 파일의 x좌표와 y좌표 중 최대값과 최소값을 구한다.

 

1. 주어진 문자열 배열에서 파일의 위치를 찾아낸다.

2. 파일들의 목록을 순회하며 최소값과 최대값을 찾는다.

function solution(wallpaper) {
    var vertices = [];
    wallpaper.forEach((s, i, array) => {
        [...s].forEach((e, j, a) =>{
            if(e === '#'){
                vertices.push([i, j]);
            }
        })
    })
    var xmin = 51, xmax = 0;
    var ymin = 51, ymax = 0;
    vertices.forEach((e, i, a) =>{
        if(e[0] < xmin) xmin = e[0];
        if(e[1] < ymin) ymin = e[1];
        if(e[0] > xmax) xmax = e[0];
        if(e[1] > ymax) ymax = e[1];
    })
    return [xmin, ymin, xmax+1, ymax+1];
}

'일기' 카테고리의 다른 글

IOCP  (0) 2024.12.24
Socket.io를 활용한 통신 프로젝트  (0) 2024.12.20
라우팅  (0) 2024.12.16
(JavaScript) 성격 유형 검사하기  (0) 2024.12.16
Classless Inter Domain Routing(CIDR)  (0) 2024.12.15