This repository was archived by the owner on Mar 6, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDay3.js
More file actions
74 lines (64 loc) · 1.72 KB
/
Day3.js
File metadata and controls
74 lines (64 loc) · 1.72 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//
const fetch = require("node-fetch");
var fs = require('fs');
let filePath = "/Users/yoanadimova/Workspace/Javascript/input3.txt";
let newFile = fs.readFileSync(filePath);
const data = newFile.toString('utf8');
const lines = data.split('\n');
let overlaps = 0;
function create2DArray(numRows, numCols) {
let array = new Array(numRows).fill(0);
for (let i=0; i<numCols; i++) {
array[i] = new Array(numCols).fill(0);
}
return array;
}
let arr = create2DArray(1000, 1000);
lines.forEach(function(value, index) {
let input = value.split(/#| @ |,|: |x/);
let id = parseInt(input[1]);
let x = parseInt(input[2]);
let y = parseInt(input[3]);
let width = parseInt(input[4]);
let height = parseInt(input[5]);
arr = fillArr(arr, y, x, height, width, id);
});
lines.forEach(function(value, index) {
let input = value.split(/#| @ |,|: |x/);
let id = parseInt(input[1]);
let x = parseInt(input[2]);
let y = parseInt(input[3]);
let width = parseInt(input[4]);
let height = parseInt(input[5]);
findNoOverlapID(arr, y, x, height, width, id);
});
function fillArr(arr, y, x, height, width, id) {
let rangeX = Math.abs(width + x);
let rangeY = Math.abs(height + y);
for (var i = x; i < rangeX; i++) {
for (var j = y; j < rangeY; j++) {
if(arr[i][j] == 1) {
arr[i][j] = 'x';
overlaps++;
} else if (arr[i][j] == 0) {
arr[i][j] = 1;
}
}
}
return arr;
}
function findNoOverlapID(arr, y, x, height, width, id) {
let rangeX = Math.abs(width + x);
let rangeY = Math.abs(height + y);
let hasOverlapOccured = false;
for (var i = x; i < rangeX; i++) {
for (var j = y; j < rangeY; j++) {
if(arr[i][j] == 'x') {
hasOverlapOccured = true;
}
}
}
if (!hasOverlapOccured) {
console.log(id);
}
}