728x90
드래그를 하여 모든 파일을 선택할 수 있는 최소 영역을 구하는 문제였다.
function solution(wallpaper) {
let startX, startY, endX, endY;
for(let i = 0; i < wallpaper.length; i++) {
for(let j = 0;j < wallpaper[i].length; j++) {
if(wallpaper[i][j] === '#') {
if(startX === undefined) {
startX = i;
} else if (startX > i) {
startX = i;
}
if(startY === undefined) {
startY = j;
} else if(startY > j) {
startY = j;
}
if(endX === undefined) {
endX = i;
} else if(endX < i) {
endX = i;
}
if(endY === undefined) {
endY = j;
} else if(endY < j) {
endY = j;
}
}
}
}
return [startX, startY, endX + 1, endY + 1];
}
이번 문제는 조금 생각해보면 쉽게 풀 수 있던 문제였다.
모든 파일을 고려하여 상하좌우로 가장 넓게 영역을 잡으면 되는 문제였다.
다만, 처음에 각 변수가 초기화될 때 0인 경우를 고려해야 해서 undefined로 지정하여 값을 비교해야 했다.
728x90
'코딩테스트 연습' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 - 광물 캐기 JavaScript (1) | 2023.04.09 |
---|---|
프로그래머스 코딩테스트 연습 - 덧칠하기 JavaScript (0) | 2023.03.31 |
프로그래머스 코딩테스트 연습 - 혼자서 하는 틱택토 JavaScript (0) | 2023.03.05 |
프로그래머스 코딩테스트 연습 - 대충 만든 자판 JavaScript (0) | 2023.03.01 |
프로그래머스 코딩테스트 연습 - 카드 뭉치 JavaScript (0) | 2023.02.25 |