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
- tanstack query
- sucoding
- 프론트엔드
- 상태 관리 라이브러리
- 리액트프로젝트
- React
- 프로젝트캠프
- frontend
- 수코딩
- 공식문서
- Server State
- 개발
- STATE
- 프론트엔드 개발
- TypeScript
- 스나이퍼팩토리
- 웅진씽크빅
- 유데미
- React Query
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 |