https://school.programmers.co.kr/learn/courses/30/lessons/161990
[풀이]
x, y 좌표를 어떻게 구할까 ? 를 먼저 고민해봐야한다.
(바탕화면)좌표에서 여러개의 파일이 있다고 생각했을 때, 모두 아우르는 범위를 알려면
드래그의 시작점은 젤상단의 왼쪽 이여야 하고
드래그의 끝점은 젤하단의 오른쪽이여야 한다.
주의할점은 이 문제에서 x축 ,y축 반대방향으로 간다
1. 이중for문 돌려서 좌표 마다 순회한다
2. '#' 이 나오면 x 좌표 배열에 (원래는 y좌표) j를 넣어주고 y 좌표 배열에 (원래는 x좌표) i를 넣어준다
3. result가( x최솟값, y최솟값 ) + (x최댓값+1 , y최댓값+1) 이므로 Math.min, Math.max 구해서 각각의 앞의 숫자 들고온다.
[코드]
function solution(wallpaper) {
const X = []
const Y = []
for(let i = 0; i < wallpaper.length; i++){
for(let j = 0; j< wallpaper[i].length; j++) {
if(wallpaper[i][j] === '#'){
X.push(j)
Y.push(i)
}
}
}
let answer = [Math.min(...Y),Math.min(...X),Math.max(...Y)+1,Math.max(...X)+1]
return answer;
}
728x90
반응형
'자료구조+알고리즘 > Programmers' 카테고리의 다른 글
[프로그래머스-level2] 기능개발 (javascript) (0) | 2024.03.15 |
---|---|
[프로그래머스_lv2] 타겟 넘버 (javascript) (0) | 2024.03.08 |
[프로그래머스_lv1] 카드 뭉치 (javascript) (0) | 2024.02.26 |
[프로그래머스 Lv.1] 공원 산책 (javascript) (1) | 2024.02.26 |
[프로그래머스 Lv.1] 추억 점수 (javascript) (0) | 2024.02.22 |