Algorithms/코테 문풀
[프로그래머스] 바탕화면 정리 - JS
hi-rachel
2023. 6. 24. 12:38
✏️ 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
✏️ 문제 풀이
function solution(wallpaper) {
let [x1, y1, x2, y2] = [wallpaper.length, wallpaper[0].length, 0, 0];
// x1 => min i
// y1 => min idx
// x2 => max i
// y2 => max idx
wallpaper.forEach((paper, i) => {
if (paper.includes('#')) {
x1 = Math.min(x1, i);
y1 = Math.min(y1, paper.indexOf('#'));
x2 = Math.max(x2, i);
y2 = Math.max(y2, paper.lastIndexOf('#'));
}
});
return [x1, y1, x2 + 1, y2 + 1];
}
너무 복잡해보여 다른 풀이를 참고했다. 최소, 최대 index 아이디어만 생각하면 간단하게 풀 수 있는 문제였다.
x1, y1은 드래그 시작 위치로 최소 위치, x2, y2는 드래그 끝 위치로 0과 비교해 최대 위치 찾아 반환!
🙂 공부하며 정리하는 글입니다. 잘못된 점이 있다면 피드백 주시면 감사합니다.