문제
풀이
- 시작점은 최솟값을 찾아야 하기 때문에 50, 끝점은 최댓값을 찾아야 하기 때문에 0으로 설정한다.
- 배탕화면 배열에 대해 2중 for문을 돌면서 파일이 존재하는 경우('#') 각 좌표의 값을 확인 후 업데이트 해준다.
- 끝점의 경우 문제에서 제시한대로 +1 해준다.
소스 코드
function solution(wallpaper) {
const H = wallpaper.length;
const W = wallpaper[0].length;
const answer = [50, 50, 0, 0];
for (let i = 0; i < H; i++) {
for (let j = 0; j < W; j++) {
if (wallpaper[i][j] === '#') {
answer[0] = Math.min(answer[0], i);
answer[1] = Math.min(answer[1], j);
answer[2] = Math.max(answer[2], i);
answer[3] = Math.max(answer[3], j);
}
}
}
answer[2] += 1;
answer[3] += 1;
return answer;
}
'알고리즘 연습' 카테고리의 다른 글
[알고리즘 연습] 프로그래머스 택배 배달과 수거하기 (LEVEL 2, 자바스크립트) (0) | 2023.12.26 |
---|---|
[알고리즘 연습] 프로그래머스 덧칠하기 (LEVEL 1, 자바스크립트) (0) | 2023.08.28 |
[알고리즘 연습] 백준 2636 (치즈, 자바스크립트) (0) | 2023.08.27 |
[알고리즘 연습] 프로그래머스 공원 산책 (LEVEL 1, 자바스크립트) (0) | 2023.08.27 |
[알고리즘 연습] 백준 2661 (좋은수열, 자바스크립트) (0) | 2023.07.14 |