π±οΈ2563λ²: μμ’ μ΄
κ°λ‘, μΈλ‘μ ν¬κΈ°κ° κ°κ° 100μΈ μ μ¬κ°ν λͺ¨μμ ν°μ λνμ§κ° μλ€. μ΄ λνμ§ μμ
κ°λ‘, μΈλ‘μ ν¬κΈ°κ° κ°κ° 10μΈ μ μ¬κ°ν λͺ¨μμ κ²μμ μμ’ μ΄λ₯Ό μμ’ μ΄μ λ³κ³Ό λνμ§μ λ³μ΄ νννλλ‘ λΆμΈλ€.
μ΄λ¬ν λ°©μμΌλ‘ μμ’ μ΄λ₯Ό ν μ₯ λλ μ¬λ¬ μ₯ λΆμΈ ν μμ’ μ΄κ° λΆμ κ²μ μμμ λμ΄λ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
ν©μ§ν©μ ꡬνλ λ¬Έμ μ΄λ€.
μ λ ₯
첫째 μ€μ μμ’ μ΄μ μκ° μ£Όμ΄μ§λ€.
μ΄μ΄ λμ§Έ μ€λΆν° ν μ€μ νλμ© μμ’ μ΄λ₯Ό λΆμΈ μμΉκ° μ£Όμ΄μ§λ€.
μμ’ μ΄λ₯Ό λΆμΈ μμΉλ λ κ°μ μμ°μλ‘ μ£Όμ΄μ§λλ° μ²« λ²μ§Έ μμ°μλ μμ’ μ΄μ μΌμͺ½ λ³κ³Ό λνμ§μ μΌμͺ½ λ³ μ¬μ΄μ 거리μ΄κ³ ,
λ λ²μ§Έ μμ°μλ μμ’ μ΄μ μλμͺ½ λ³κ³Ό λνμ§μ μλμͺ½ λ³ μ¬μ΄μ 거리μ΄λ€.
μμ’ μ΄μ μλ 100 μ΄νμ΄λ©°, μμ’ μ΄κ° λνμ§ λ°μΌλ‘ λκ°λ κ²½μ°λ μλ€.
3 //μμ’
μ΄μ μ
3 7 // A μμ’
μ΄λ₯Ό λΆμΈ μμΉ(x, y)
15 7 // B μμ’
μ΄λ₯Ό λΆμΈ μμΉ(x, y)
5 2 // C μμ’
μ΄λ₯Ό λΆμΈ μμΉ(x, y)
μΆλ ₯
첫째 μ€μ μμ’ μ΄κ° λΆμ κ²μ μμμ λμ΄λ₯Ό μΆλ ₯νλ€.
260 //A, B, C μμ’
μ΄μ ν©μ§ν©
μμ¬μ½λ
μμ’
μ΄ μ, μμ’
μ΄λ₯Ό λΆμΈ μμΉ μ
λ ₯
100x100 ν°μ λͺ¨λμ’
μ΄ λ³μ μ΄κΈ°ν
μμ’
μ΄ μμΉλ€μ λ°°μ΄λ‘ μ μ₯
for(μμ’
μ΄ μμΉ of μμ’
μ΄ μμΉ λͺ©λ‘) {
μμ’
μ΄λ₯Ό λΆμΈ μμΉ λ³μμ μ μ₯
for(xμ’ν ~ Xμ’ν+10) {
for(yμ’ν ~ yμ’ν+10){
if(μ΄λ―Έ μμΉ λ μΉΈμΌ κ²½μ°) continue;
μμΉ λμ§ μμ μΉΈ μμΉ
μΉΈμ μμΉ ν λλ§λ€ νμ μ¦κ°
}
}
}
νμ μΆλ ₯
μμ€ μ½λ
const filePath = `linux` === process.platform ? `dev/stdin` : 'input.txt';
const lines = require('fs').readFileSync(filePath).toString().trim().split(`\n`);
let drawingPaper = Array.from(Array(100), () => Array(100).fill(0));
const confetti = lines.slice(1).map(line => line.split(` `).map(Number));
let size = 0;
if (Number(lines[0]) !== confetti.length) return;
confetti.forEach(line => {
const [x, y] = line;
for(let i = x; i < x+10; i++) {
for(let j = y; j < y+10; j++) {
if(1 === drawingPaper[i][j]) continue;
drawingPaper[i][j] = 1;
size++;
}
}
})
console.log(size)
'Algorithm > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€][JS] 9012λ²: κ΄νΈ (0) | 2023.05.12 |
---|---|
[λ°±μ€] Node.js μ μΆλ ₯ (0) | 2023.05.03 |