Skip to content

Commit

Permalink
Add scala for part 1
Browse files Browse the repository at this point in the history
  • Loading branch information
maxi0604 committed Dec 17, 2023
1 parent cd2ca75 commit 6b38453
Show file tree
Hide file tree
Showing 17 changed files with 275 additions and 0 deletions.
1 change: 1 addition & 0 deletions d15/.bsp/sbt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"sbt","version":"1.9.8","bspVersion":"2.1.0-M1","languages":["scala"],"argv":["/home/maxi/.local/share/jdks/openjdk-21.0.1/bin/java","-Xms100m","-Xmx100m","-classpath","/home/maxi/.local/share/JetBrains/IntelliJIdea2023.3/Scala/launcher/sbt-launch.jar","xsbt.boot.Boot","-bsp","--sbt-launch-jar=/home/maxi/.local/share/JetBrains/IntelliJIdea2023.3/Scala/launcher/sbt-launch.jar"]}
2 changes: 2 additions & 0 deletions d15/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
target
project/target
8 changes: 8 additions & 0 deletions d15/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions d15/.idea/codeStyles/Project.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions d15/.idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions d15/.idea/libraries/sbt__scala_sdk_2_13_12.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions d15/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions d15/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

115 changes: 115 additions & 0 deletions d15/.idea/modules/d15-build.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions d15/.idea/modules/d15.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions d15/.idea/sbt.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions d15/.idea/scala_compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions d15/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions d15/build.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
ThisBuild / version := "0.1.0-SNAPSHOT"

ThisBuild / scalaVersion := "2.13.12"

lazy val root = (project in file("."))
.settings(
name := "d15"
)
1 change: 1 addition & 0 deletions d15/project/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
sbt.version = 1.9.8
35 changes: 35 additions & 0 deletions d15/src/main/scala/Part1.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import scala.collection.mutable.ArrayBuffer
import scala.io.Source
case class Lens(var name: String, var value: Int) {
def hash(): Int =
name.map(c => c.toInt).foldLeft(0) {
(e, acc) => ((acc + e) * 17) % 256
}
}





object Part1 {
def main(args: Array[String]) = {
println("Hello, world")


val input = Source.fromInputStream(System.in).mkString;
val split = input.replace("\n", "").split(',')
println(split.mkString("Array(", ", ", ")"))

println("p1")
val res = split.map(x => x.map(c => c.toInt).foldLeft(0) {
(acc, e) => ((acc + e) * 17) % 256
})

println(res.mkString("Array(", ", ", ")"))
val sum = res.sum
printf("Sum: %s%n", sum)
println("p2")
val lenses = Array.fill(256) {ArrayBuffer.empty[Lens]}
// lenses(2) += Lens("foo", 1)
}
}

0 comments on commit 6b38453

Please sign in to comment.