WIP Day 7

Changes to be committed:
	new file:   2022/day07/Day07A.java
	new file:   2022/day07/Directory.java
	new file:   2022/day07/day07_algo.txt
	new file:   2022/day07/input.txt
This commit is contained in:
Fennel Kora 2022-12-07 17:27:46 -05:00
parent 7123ea76f5
commit 7fb3d31487
4 changed files with 1115 additions and 0 deletions

7
2022/day07/Day07A.java Normal file
View file

@ -0,0 +1,7 @@
import java.nio.file.Paths;
import java.util.Scanner;
import java.io.IOException;
public class Day07A {
}

51
2022/day07/Directory.java Normal file
View file

@ -0,0 +1,51 @@
import java.util.ArrayList;
public class Directory {
private String dirName;
private String parentDirName;
private ArrayList<Integer> files;
private ArrayList<Directory> subDirs;
public Directory(String name, String parent) {
this.dirName = name;
this.parentDirName = parent;
}
/*public Directory (String name, String parent, int[] filesList, String[] dirsList){
this.dirName = name;
this.parentDirName = parent;
files.add(filesList);
subDirs.add();
} this is a really bad idea we'll leave it for later*/
public int getDirSize() {
int size = 0;
for (Directory dir : this.subDirs) {
size += dir.getDirSize();
}
for (int i : this.files) {
size += i;
}
return size;
}
public void addDir(String s) {
this.subDirs.add(new Directory(s, this.dirName));
}
public void addFile(int i) {
this.files.add(i);
}
public String getParentDir() {
return this.parentDirName;
}
public String getDirName() {
return this.dirName;
}
public ArrayList<> getAllSubDirs() {
}
}

38
2022/day07/day07_algo.txt Normal file
View file

@ -0,0 +1,38 @@
It's java damnit EVERYTHING is an object
command format =
0. $
1. command string
2. argument string
file formats =
file
0. integer size
1. string name
dir
0. keyword "dir"
1. string dirName
===function Main
Create ArrayList of directory objects
Open file
Read line into buffer string array split on spaces
Loop while file has contents
Declare Class "directory"
- private string dirName
- private string parentDirName
- private ArrayList fileContents[]
- int fileSize
- private ArrayList subDirs[]
- yo mr. white we're recursin here
Methods:
getDirSize - needs to step through subdirs, plus sum ints in file sizes
addDir - create new directory object and append to subDirs ArrayList
addFile - add to fileContents ArrayList
rmDir - remove specified dir from subDirs ArrayList - not necessary for this scope probably
getParentDir - name's on the tin
getDirName - ditto
getAllDirSizes - i mean while i'm here might as well make the class do it

1019
2022/day07/input.txt Normal file

File diff suppressed because it is too large Load diff