일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- programmers
- bfs/dfs
- 정렬
- 자바
- 네트워크
- Python
- React
- node.js
- 프로그래머스 JS
- CSS
- SWEA
- 그리디
- 프로그래머스
- 코딩테스트 입문
- CLASS
- 알고리즘
- js
- 자바스크립트
- Baekjoon
- Java
- javascript
- 연습문제
- Next.js
- Typescript
- 코딩테스트
- Lv2
- 이것이 코딩테스트다 with 파이썬
- Lv1
- greedy
- 백준
Archives
- Today
- Total
개발야옹
[Programmers] 코딩테스트 입문 - 안전지대 본문
https://school.programmers.co.kr/learn/courses/30/lessons/120866
function solution(board) {
const vector = [[1,0],[-1,0],[0,1],[0,-1], [-1,-1], [-1, 1], [1,1], [1, -1]];
for(let i = 0 ; i < board.length ; i++) {
for( let j = 0 ; j < board[0].length; j++) {
if(board[i][j] === 1) {
const vectors = [];
vector.forEach(v => {
const x = v[0] + i;
const y = v[1] + j;
if(x >= 0 && y >= 0 && x < board.length && y < board[0].length) {
vectors.push([x,y]);
}
});
vectors.forEach((v) => {
if(board[v[0]][v[1]] === 0) {
board[v[0]][v[1]] = -1;
}
})
}
}
}
let answer = 0;
board.forEach((bb) => {
bb.forEach((b) => {
if(b === 0) {
answer++;
}
})
})
return answer;
}
728x90
'Algorithm\CodingTest > Programmers' 카테고리의 다른 글
[Programmers] Summer/Winter Coding(~2018) - 소수 만들기 lv1 (0) | 2023.11.28 |
---|---|
[Programmers] 연습문제 - 추억 점수 (0) | 2023.04.22 |
[Programmers] 깊이/너비 우선 탐색(DFS/BFS) lv2 - 게임 맵 최단거리 (0) | 2023.03.17 |
[Programmers] 그래프 level 3 - 가장 먼 노드 ( 다시 풀어보기 ) (0) | 2023.03.12 |
[Programmers] 연습문제 - 피보나치 수 (0) | 2023.03.08 |