백준1895 - 필터 (완전탐색) node.js 본문
반응형
https://www.acmicpc.net/problem/1895
문제 해결 방식
문제에서 주어진 N * M 크기의 이미지를 모두 3 * 3의 크기로 분할한 뒤, 해당 구간에 포함된 모든 원소를 정렬하여 중앙값을 구하고
해당 중앙값이 T보다 크거나 같다면 결괏값에 추가하는 방식으로 로직을 구현하였다.
전체 소스 코드
const fs = require("fs");
const input = fs
.readFileSync(process.platform === "linux" ? "/dev/stdin" : "입력.txt")
.toString()
.trim()
.split("\n");
function solution(data) {
const T = +data.pop();
const [[N, M], ...arr] = data.map((el) => el.split(" ").map(Number));
let result = 0;
for (let i = 0; i < N - 2; i++) {
for (let j = 0; j < M - 2; j++) {
const temp = [];
for (let k = i; k < i + 3; k++) {
for (let l = j; l < j + 3; l++) {
temp.push(arr[k][l]);
}
}
temp.sort((a, b) => a - b);
if (temp[4] >= T) result++;
}
}
console.log(result);
}
solution(input);
반응형
'개발 > algorithm' 카테고리의 다른 글
백준22252 - 정보 상인 호석 (최대 힙, 해시) node.js (0) | 2024.03.18 |
---|---|
백준15702 - 중간고사 채점 node.js (0) | 2024.03.16 |
백준17390 - 이건 꼭 풀어야 해 (누적합) node.js (1) | 2024.03.12 |
백준20115 - 에너지 드링크 (그리디) node.js (0) | 2024.03.10 |
백준1326 - 폴짝폴짝 (BFS) node.js (0) | 2024.03.08 |
Comments