풀이는 간단했기 때문에 구현만 잘 하면 될 것 같다.
먼저 바탕화면을 모두 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 |