✏️ 문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=javascript
✏️ 문제 풀이
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과 비교해 최대 위치 찾아 반환!
🙂 공부하며 정리하는 글입니다. 잘못된 점이 있다면 피드백 주시면 감사합니다.
'Algorithms > 코테 문풀' 카테고리의 다른 글
엘리스 - 문자열 앞뒤 검사하기(py), Palindrome (0) | 2023.07.18 |
---|---|
[Greedy] 엘리스 - 구슬 꾸러미(py) (0) | 2023.07.18 |
[프로그래머스] 1로 만들기 - JS/ for문과 forEach문의 차이 (0) | 2023.06.06 |
[2022 KAKAO TECH INTERNSHIP] 성격 유형 검사하기 - JS (0) | 2023.06.03 |
[프로그래머스] 로또의 최고 순위와 최저 순위 - JS (2021 Dev-Matching: 웹 백엔드 개발) (0) | 2023.05.30 |