Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- 실시간통신
- 자바스크립트
- stompjs
- React Query
- pnpm
- radixui
- 배열
- 프로젝트
- Server State
- frontend
- npm
- tanstack query
- JavaScript
- 프론트엔드
- 컴포넌트설계
- 라이브러리
- 프로젝트캠프
- 스나이퍼팩토리
- 배열메서드
- 상태 관리 라이브러리
- 코딩테스트
- React
- 수코딩
- MDN
- 리액트프로젝트
- 공식문서
- shadcn
- sucoding
- TypeScript
- @stomp/stompjs
Archives
- Today
- Total
yunicornlab
[Softeer] 소프티어 - 장애물 인식 프로그램 JavaScript (Level 2) 본문
Coding Test/Practice
[Softeer] 소프티어 - 장애물 인식 프로그램 JavaScript (Level 2)
yunicornlab 2024. 6. 29. 23:44자바스크립트로 Softeer의 장애물 인식 프로그램 이라는 문제 풀기!
https://softeer.ai/practice/6282
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
DFS 이용 (인접행렬)
const fs = require('fs');
const [n, ...graph] = fs.readFileSync('/dev/stdin', 'utf8').trim().split('\n').map((v, i) => i === 0 ? parseInt(v) : v.split('').map(Number))
let dx = [-1, 0, 1, 0];
let dy = [0, -1, 0, 1];
function dfs(x, y) {
if (x <= -1 || x >=n || y <= -1 || y >=n) return 0;
// 방문전이면
if (graph[x][y] >= 1) {
graph[x][y] = -1;
let result = 1;
result += dfs(x-1, y);
result += dfs(x, y-1);
result += dfs(x+1, y);
result += dfs(x, y+1);
return result
}
return 0;
}
let answer = [];
for (let i=0; i<n; i++) {
for (let j=0; j<n; j++) {
let current = dfs(i, j);
if (current > 0) answer.push(current);
}
}
answer.sort((a, b) => a-b);
console.log(answer.length)
answer.forEach(v => console.log(v))
'Coding Test > Practice' 카테고리의 다른 글
| [Softeer] 소프티어 - 비밀 메뉴 JavaScript (Level 2) (0) | 2024.06.30 |
|---|---|
| [Softeer] 소프티어 - 지도 자동 구축 JavaScript (Level 2) (0) | 2024.06.29 |
| [Softeer] 소프티어 - 8단 변속기 JavaScript (Level 2) (0) | 2024.06.29 |
| [Softeer] 소프티어 - 바이러스 JavaScript (Level 2) (0) | 2024.06.29 |
| [Softeer] 소프티어 - 금고 털이 JavaScript (Level 2) (0) | 2024.06.29 |