728x90
반응형
주소: https://school.programmers.co.kr/learn/courses/30/lessons/120866
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | const disX = [-1, -1, -1, 0, 0, 1, 1, 1]; const disY = [-1, 0, 1, -1, 1, -1, 0, 1]; function solution(board) { let length = board.length let dangerZone = JSON.parse(JSON.stringify(board)); //배열의 깊은 복사. //얕은 복사: 복사본 변경시, 원본도 바뀐다. 깊은 복사: 복사본 변경해도, 원본이 그대로이다. for(let x=0;x<board.length;x++){ //전체 스캔 for(let y=0;y<board.length;y++){ if(board[x][y]===0) continue; //폭심지가 0이면 무시 for(let i=0;i<disX.length;i++){ //폭탄인근좌표, 구하기 let nx = x + disX[i]; let ny = y + disY[i]; if(nx < 0 || nx >= board.length || ny < 0 || ny >= board[0].length) continue; // board 좌표 벗어나면 무시 // nx, ny에서 =이 들어간 이유는, board가 배열이기 때문이다. // 배열의 위치는 0부터 세고, 마지막 배열 위치는 arr.length-1로 표현해야 한다. dangerZone[nx][ny] = 1; // 폭탄 주위 좌표는 모두 1로 채움 } } } return length*length-dangerZone.flat().filter(d => d).length; } | cs |
728x90
반응형
'개발공부 일지 > 코테' 카테고리의 다른 글
삽입 정렬(Insertion Sort) - 자바스크립트, JS (0) | 2023.06.12 |
---|---|
이진 탐색(Binary Search)-JS, 자바스크립트 (1) | 2023.02.05 |
프로그래머스 - 핸드폰 번호 가리기(JS, 자바스크립트)(정규표현식-전방탐색) (0) | 2023.02.02 |
프로그래머스 - 최대공약수와 최소공배수(JS, 자바스크립트) (0) | 2023.02.02 |
프로그래머스 - 저주의 숫자 3 (JS, 자바스크립트) (0) | 2023.02.02 |
댓글