day09 pre-fragmentation. parsing successful.
This commit is contained in:
1
2024/09/easy_example.txt
Normal file
1
2024/09/easy_example.txt
Normal file
@ -0,0 +1 @@
|
||||
12345
|
1
2024/09/example.txt
Normal file
1
2024/09/example.txt
Normal file
@ -0,0 +1 @@
|
||||
2333133121414131402
|
@ -1,26 +1,17 @@
|
||||
let disk_map = "2333133121414131402"
|
||||
// 0..111....22222
|
||||
import fs from 'node:fs'
|
||||
|
||||
//let fileArray = Array.from(file)
|
||||
function init(filename) {
|
||||
const data = fs.readFileSync(filename, { encoding: 'utf-8' }, data => data)
|
||||
|
||||
output = ""
|
||||
hints = ""
|
||||
//output += "".padStart(disk_map[0], 0)
|
||||
let id = -1
|
||||
let is_file = false
|
||||
for (let idx = 0; idx < disk_map.length; idx++) {
|
||||
let length = disk_map[idx]
|
||||
is_file = !is_file
|
||||
id = is_file ? id + 1 : id
|
||||
output += "".padStart(length, (is_file ? id : '.'))
|
||||
new_disk_map =
|
||||
let table = ""
|
||||
let files = [...data.split('').filter((val, idx) => idx % 2 === 0)]
|
||||
let free_spaces = [...data.split('').filter((val, idx) => idx % 2 !== 0)]
|
||||
let diskmap = [...data.split('')]
|
||||
|
||||
diskmap.forEach((sector, index) => {
|
||||
table += index % 2 === 0 ? ''.padStart(sector, index / 2) : ''.padStart(sector, '.')
|
||||
})
|
||||
console.log(table)
|
||||
}
|
||||
|
||||
function frag() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
console.log(disk_map)
|
||||
//console.log(hints)
|
||||
console.log(output)
|
||||
init('easy_example.txt')
|
0
2024/09/input.txt
Normal file
0
2024/09/input.txt
Normal file
@ -1,11 +0,0 @@
|
||||
{
|
||||
"name": "09",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"description": ""
|
||||
}
|
Reference in New Issue
Block a user