λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 2563번 : 색쒅이

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2021. 8. 29.

 

 

Algorithm

-  색쒅이 -

 


 

문제

κ°€λ‘œ, μ„Έλ‘œμ˜ 크기가 각각 100인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 흰색 도화지가 μžˆλ‹€. 이 도화지 μœ„μ— κ°€λ‘œ, μ„Έλ‘œμ˜ 크기가 각각 10인 μ •μ‚¬κ°ν˜• λͺ¨μ–‘μ˜ 검은색 색쒅이λ₯Ό μƒ‰μ’…μ΄μ˜ λ³€κ³Ό λ„ν™”μ§€μ˜ 변이 ν‰ν–‰ν•˜λ„λ‘ 뢙인닀. μ΄λŸ¬ν•œ λ°©μ‹μœΌλ‘œ 색쒅이λ₯Ό ν•œ μž₯ λ˜λŠ” μ—¬λŸ¬ μž₯ 뢙인 ν›„ 색쒅이가 뢙은 검은 μ˜μ—­μ˜ 넓이λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

예λ₯Ό λ“€μ–΄ 흰색 도화지 μœ„μ— μ„Έ μž₯의 검은색 색쒅이λ₯Ό κ·Έλ¦Όκ³Ό 같은 λͺ¨μ–‘μœΌλ‘œ λΆ™μ˜€λ‹€λ©΄ 검은색 μ˜μ—­μ˜ λ„“μ΄λŠ” 260이 λœλ‹€.

 

μž…μΆœλ ₯ μ˜ˆμ‹œ

 

문제 ν’€κΈ°

const readline = require("readline");
const rl = readline.createInterface({
	input: process.stdin,
	output: process.stdout,
});
let input = [];
rl.on("line", function (line) {
	input.push(
		line
			.toString()
			.split(" ")
			.map((el) => Number(el))
	);
}).on("close", function () {
	input.shift();
	let arr = new Array(100).fill().map((el) => new Array(100).fill(false));
	for (let i = 0; i < input.length; i++) {
		let x = input[i][0];
		let y = input[i][1];

		for (let j = 0; j < 10; j++) {
			for (let k = 0; k < 10; k++) {
				arr[x + j][y + k] = true;
			}
		}
	}
	let result = arr.reduce((past, curr) => {
		for (let el of curr) {
			if (el) past++;
		}
		return past;
	}, 0);

	console.log(result);
	process.exit();
});

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€