added year of 2023

This commit is contained in:
2025-06-05 22:45:07 +02:00
parent e8e76885ae
commit 66007c5389
58 changed files with 3478 additions and 0 deletions

29
2023/01/Kotlin/.gitignore vendored Normal file
View File

@@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
2023/01/Kotlin/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,10 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

View File

@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="ReplaceUntilWithRangeUntil" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
</profile>
</component>

6
2023/01/Kotlin/.idea/jpa-buddy.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JpaBuddyIdeaProjectConfig">
<option name="renamerInitialized" value="true" />
</component>
</project>

10
2023/01/Kotlin/.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JvmCompilerArguments">
<option name="jvmTarget" value="1.8" />
</component>
<component name="KotlinCommonCompilerArguments">
<option name="apiVersion" value="1.9" />
<option name="languageVersion" value="1.9" />
</component>
</project>

View File

@@ -0,0 +1,23 @@
<component name="libraryTable">
<library name="KotlinJavaRuntime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.21" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.21/kotlin-stdlib-jdk8-1.9.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.21/kotlin-stdlib-1.9.21.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.21/kotlin-stdlib-jdk7-1.9.21.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.21/kotlin-stdlib-jdk8-1.9.21-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.21/kotlin-stdlib-1.9.21-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.21/kotlin-stdlib-jdk7-1.9.21-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.21/kotlin-stdlib-jdk8-1.9.21-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.21/kotlin-stdlib-1.9.21-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.21/kotlin-stdlib-jdk7-1.9.21-sources.jar!/" />
</SOURCES>
</library>
</component>

9
2023/01/Kotlin/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

8
2023/01/Kotlin/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/advent_day1.iml" filepath="$PROJECT_DIR$/advent_day1.iml" />
</modules>
</component>
</project>

1000
2023/01/Kotlin/input.txt Normal file

File diff suppressed because it is too large Load Diff

1000
2023/01/Kotlin/input_2.txt Normal file

File diff suppressed because it is too large Load Diff

15
2023/01/Kotlin/kotlin.iml Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/kotlin" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/kotlin" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>

View File

@@ -0,0 +1,62 @@
import java.io.File
fun main(args: Array<String>) {
part2()
}
fun part2() {
val data = File("input_2.txt").readLines()
val map = hashMapOf(
Pair("one", "1"),
Pair("two", "2"),
Pair("three", "3"),
Pair("four", "4"),
Pair("five", "5"),
Pair("six", "6"),
Pair("seven", "7"),
Pair("eight", "8"),
Pair("nine", "9"),
)
var sum = 0
data.forEach { line ->
var convertedString: String = line
for (value in listOf("one", "two", "three", "four", "five", "six", "seven", "eight", "nine")) {
Regex(value).findAll(line).map { it.range }.forEach { range ->
convertedString = convertedString.replaceRange(range.first, range.first + 1, map[value].toString())
}
}
println(convertedString)
val filteredString = convertedString.filter {c: Char -> c.isDigit()}
println(filteredString)
sum += if (filteredString.length < 2) {
//println("${numbers[0]}${numbers[0]}")
"${filteredString[0]}${filteredString[0]}".toInt()
} else {
//println("${numbers[0]}${numbers[numbers.length - 1]}")
"${filteredString[0]}${filteredString[filteredString.length - 1]}".toInt()
}
/*val ranges = Regex("one").findAll(line).map { it.range }//.joinToString("|")
if (ranges.any()) {
println(line.replaceRange(ranges.elementAt(0).first..ranges.elementAt(0).first, "1"))
} else {
println(line)
}*/
}
println("Sum: $sum")
}
fun part1() {
val data = File("input.txt").readLines()
var sum = 0
data.forEach { line ->
val numbers = line.filter { c: Char -> c.isDigit() }
sum += if (numbers.length < 2) {
//println("${numbers[0]}${numbers[0]}")
"${numbers[0]}${numbers[0]}".toInt()
} else {
//println("${numbers[0]}${numbers[numbers.length - 1]}")
"${numbers[0]}${numbers[numbers.length - 1]}".toInt()
}
}
print(sum)
}

38
2023/02/Kotlin/.gitignore vendored Normal file
View File

@@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
2023/02/Kotlin/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

7
2023/02/Kotlin/.idea/encodings.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="file://$PROJECT_DIR$/src/main/kotlin" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
</component>
</project>

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="ReplaceUntilWithRangeUntil" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
</profile>
</component>

6
2023/02/Kotlin/.idea/jpa-buddy.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JpaBuddyIdeaProjectConfig">
<option name="renamerInitialized" value="true" />
</component>
</project>

6
2023/02/Kotlin/.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.21" />
</component>
</project>

18
2023/02/Kotlin/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
<option name="workspaceImportForciblyTurnedOn" value="true" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

100
2023/02/Kotlin/input.txt Normal file
View File

@@ -0,0 +1,100 @@
Game 1: 1 green, 6 red, 4 blue; 2 blue, 6 green, 7 red; 3 red, 4 blue, 6 green; 3 green; 3 blue, 2 green, 1 red
Game 2: 2 blue, 4 red, 7 green; 17 red, 3 blue, 2 green; 3 green, 14 red, 1 blue
Game 3: 12 blue, 3 red, 1 green; 8 blue, 9 red; 1 blue, 1 green, 9 red; 4 blue, 1 green, 9 red
Game 4: 2 red, 10 green, 5 blue; 11 blue, 4 green; 6 green, 7 blue, 2 red; 4 blue, 9 green; 6 green, 1 red, 5 blue
Game 5: 10 green, 5 blue, 5 red; 10 blue, 13 green; 2 red, 12 blue; 9 green, 9 red
Game 6: 2 red, 3 green; 1 blue, 15 red, 2 green; 1 green, 7 red
Game 7: 16 blue, 4 green, 9 red; 6 red, 2 blue, 12 green; 2 red, 5 green, 14 blue; 11 blue, 13 red; 10 blue, 3 red, 17 green; 1 green, 12 blue
Game 8: 14 red, 12 green, 1 blue; 5 blue, 7 green, 12 red; 8 green, 1 red, 8 blue; 8 blue, 2 green, 15 red; 9 blue, 12 red, 10 green; 4 blue, 15 red, 1 green
Game 9: 2 red, 7 green, 5 blue; 1 red, 5 blue, 13 green; 5 blue
Game 10: 4 red, 1 green, 4 blue; 7 green, 8 blue, 4 red; 9 green, 3 red, 8 blue; 5 red, 2 green, 7 blue
Game 11: 4 green, 1 blue, 1 red; 3 green, 3 red, 1 blue; 3 green, 1 red, 1 blue
Game 12: 7 red, 6 green, 12 blue; 6 blue, 8 green, 3 red; 12 green, 5 blue, 4 red; 3 red, 16 blue, 8 green; 12 red, 11 green, 6 blue
Game 13: 2 green, 5 red, 12 blue; 8 green, 12 red, 4 blue; 6 blue, 7 green, 13 red
Game 14: 1 blue, 7 green, 5 red; 1 blue, 8 green, 6 red; 3 green, 1 blue, 4 red
Game 15: 11 red, 8 blue, 1 green; 11 red, 1 green; 3 green, 8 red, 2 blue; 4 blue, 11 red, 1 green; 5 blue, 5 red, 2 green
Game 16: 18 green, 4 blue, 2 red; 5 blue, 11 green, 10 red; 8 red, 2 blue, 14 green; 8 red, 7 blue, 1 green; 3 red, 5 blue, 17 green; 6 blue, 5 green, 11 red
Game 17: 3 blue, 3 red, 7 green; 4 blue, 1 red, 2 green; 5 blue, 3 green, 3 red
Game 18: 2 blue, 2 red, 1 green; 4 blue, 2 red, 7 green; 10 blue, 4 red, 3 green; 5 blue, 3 red, 2 green; 4 green, 3 red, 4 blue; 3 green, 5 red, 5 blue
Game 19: 2 red, 1 green, 1 blue; 8 red, 8 blue, 10 green; 16 green, 5 blue, 2 red; 4 red, 9 green
Game 20: 12 red, 1 blue, 1 green; 4 blue, 2 green, 2 red; 3 blue; 5 red, 8 green; 14 red, 4 blue, 6 green
Game 21: 9 red, 7 green, 1 blue; 5 green, 17 red, 11 blue; 14 red, 7 blue, 10 green; 7 green, 7 red, 10 blue; 6 blue, 6 green, 17 red; 16 red, 13 green, 7 blue
Game 22: 4 blue, 1 red; 1 green, 8 blue; 1 green; 6 blue, 1 red
Game 23: 13 red, 7 blue, 1 green; 4 green, 2 blue, 7 red; 4 green, 10 blue, 12 red
Game 24: 9 green, 10 blue; 2 blue, 4 green, 4 red; 9 green, 1 red, 9 blue; 4 green, 5 red, 12 blue
Game 25: 4 red, 1 green; 10 green, 6 red, 4 blue; 4 red, 1 blue, 7 green; 10 green, 3 red, 7 blue
Game 26: 8 red, 1 green, 2 blue; 5 green, 5 red; 6 green, 19 red; 11 red, 2 blue, 8 green; 13 red, 2 blue, 5 green; 15 red, 2 blue, 10 green
Game 27: 17 blue, 1 green; 2 red, 12 blue, 11 green; 16 green, 16 blue; 18 green, 4 blue; 10 blue, 1 red, 8 green
Game 28: 5 red, 1 green, 1 blue; 3 blue, 8 green, 4 red; 6 green, 2 red, 2 blue
Game 29: 3 green, 12 red, 11 blue; 2 green, 15 red, 8 blue; 13 red, 4 green; 17 red, 9 blue, 5 green
Game 30: 10 green; 4 blue, 1 green; 2 blue, 2 red, 7 green; 5 green, 4 blue, 1 red; 4 red, 10 green, 1 blue
Game 31: 15 blue, 2 red; 17 blue, 2 green; 19 blue, 6 red
Game 32: 1 green, 7 red; 8 red, 1 blue; 5 red, 1 blue, 11 green; 3 blue, 17 red
Game 33: 11 red, 9 green, 1 blue; 3 green, 8 blue; 10 red, 4 green, 8 blue; 6 red, 9 blue, 17 green; 15 green, 10 red, 4 blue; 1 red, 2 blue, 7 green
Game 34: 13 red, 6 green; 6 red, 14 green, 2 blue; 3 red, 19 green; 9 green, 9 red
Game 35: 7 green, 3 red; 12 green, 7 blue; 13 green, 7 red, 6 blue; 3 blue, 12 red
Game 36: 6 blue, 11 green, 14 red; 3 blue, 12 green, 4 red; 18 red, 1 blue; 7 red, 9 green, 6 blue
Game 37: 3 red, 16 blue, 6 green; 2 green, 7 blue; 8 blue, 3 red
Game 38: 16 blue, 3 green, 14 red; 8 red, 15 blue; 17 red, 15 blue, 4 green; 1 green, 11 blue, 17 red; 3 green, 10 blue, 17 red
Game 39: 1 green, 2 red, 5 blue; 12 blue, 12 green; 3 blue, 1 red
Game 40: 1 red, 2 blue, 1 green; 7 green, 1 red, 6 blue; 8 blue, 1 red, 6 green; 12 blue, 1 red, 3 green; 4 green, 8 blue
Game 41: 2 red, 2 blue, 5 green; 5 red, 8 blue; 4 green, 4 blue; 1 red, 11 blue
Game 42: 1 red, 3 green, 13 blue; 13 blue, 7 green; 13 green; 1 red, 3 blue, 4 green; 13 blue, 7 green
Game 43: 3 red, 4 green; 7 red, 11 blue, 3 green; 3 green, 12 red, 7 blue; 9 blue, 5 green
Game 44: 4 blue, 9 red, 2 green; 10 blue, 5 red, 2 green; 9 red, 9 blue, 1 green; 8 blue, 2 green, 14 red; 3 blue, 3 green, 6 red; 4 blue, 3 green, 14 red
Game 45: 1 red, 2 green, 2 blue; 2 green, 1 red; 1 green, 2 blue; 1 green, 1 red, 2 blue; 2 red, 2 blue, 1 green
Game 46: 1 green, 3 red, 3 blue; 6 green, 2 blue, 4 red; 1 green, 3 blue, 1 red; 3 green, 1 blue, 5 red; 6 green; 1 red, 1 green, 2 blue
Game 47: 18 green, 1 red, 7 blue; 6 blue, 19 green, 1 red; 5 blue, 7 green, 1 red; 1 red, 5 blue, 16 green; 15 green, 3 blue
Game 48: 4 green, 8 blue, 8 red; 13 green, 5 red, 12 blue; 9 red, 6 blue, 10 green; 18 green, 3 blue, 4 red; 2 blue, 9 red, 8 green
Game 49: 9 blue, 5 red, 9 green; 5 blue, 11 green, 5 red; 12 green, 6 blue
Game 50: 13 red, 8 green, 3 blue; 2 red, 11 green, 3 blue; 16 red, 7 green; 3 blue, 11 green, 15 red; 10 red, 2 blue, 5 green; 7 green, 2 blue, 4 red
Game 51: 2 red, 1 green, 3 blue; 2 green, 11 red, 17 blue; 2 red, 3 green, 6 blue; 4 red, 3 green, 6 blue; 13 red, 12 blue
Game 52: 1 blue, 5 green; 20 green, 6 blue; 9 blue, 6 green; 11 green, 1 red; 1 green, 1 red, 1 blue
Game 53: 8 red, 6 blue; 6 blue, 6 red, 2 green; 5 blue, 2 green, 3 red; 3 green, 3 blue; 4 green, 5 red, 1 blue
Game 54: 4 blue, 1 red, 3 green; 4 green, 10 blue, 9 red; 7 red, 3 blue, 3 green; 9 green, 9 red, 1 blue; 9 blue, 6 red, 7 green; 6 blue, 7 green, 9 red
Game 55: 15 red, 1 blue, 6 green; 11 blue, 3 red; 9 blue, 3 red, 1 green
Game 56: 8 green, 8 red, 9 blue; 8 red, 8 green, 1 blue; 7 red, 10 green, 4 blue; 10 blue, 2 green, 9 red
Game 57: 10 red, 3 green, 2 blue; 1 red, 4 green; 7 red, 1 green, 3 blue; 12 red, 4 blue; 14 red, 5 green, 4 blue
Game 58: 8 green, 3 blue, 7 red; 7 red, 14 blue, 5 green; 3 green, 7 red; 16 blue, 15 green; 1 red, 10 blue
Game 59: 3 red, 13 green, 2 blue; 10 blue, 3 green, 6 red; 3 green, 2 blue; 7 green, 2 blue, 7 red; 17 green, 6 blue, 15 red
Game 60: 2 blue, 2 red, 6 green; 11 green, 1 blue, 2 red; 1 blue, 9 green; 1 red, 4 green, 2 blue; 1 red, 2 blue, 10 green
Game 61: 3 red, 12 blue, 1 green; 3 red, 1 green, 18 blue; 5 blue, 2 red
Game 62: 4 red, 3 blue, 8 green; 2 blue, 8 red, 9 green; 8 blue, 15 green, 1 red
Game 63: 14 green, 2 red, 1 blue; 7 green, 11 blue, 1 red; 7 blue, 3 red; 4 green, 10 blue, 3 red
Game 64: 8 blue, 18 green, 2 red; 3 red, 17 green; 7 green, 1 red, 12 blue; 15 green, 2 red, 4 blue; 7 green, 8 red, 13 blue
Game 65: 6 blue, 5 green, 2 red; 1 red, 4 green; 5 green, 1 blue; 6 blue, 3 red, 2 green; 4 blue, 5 green
Game 66: 11 red, 9 blue, 4 green; 8 red, 8 blue; 9 red, 7 blue; 1 blue, 12 green, 4 red; 2 red, 11 blue, 10 green
Game 67: 1 red, 4 blue, 1 green; 7 red, 1 blue; 3 green, 4 blue, 6 red; 6 green, 3 blue, 14 red; 11 red, 1 blue, 1 green; 4 green, 8 red
Game 68: 3 red, 1 green, 2 blue; 1 red, 9 blue; 2 red, 1 green
Game 69: 3 green, 2 blue, 2 red; 1 red, 6 green; 13 red, 2 blue, 4 green; 4 blue, 13 red, 6 green; 12 red, 2 blue
Game 70: 15 blue, 2 green, 7 red; 3 red, 14 blue; 6 blue, 1 green; 1 red, 2 green, 4 blue; 2 green, 13 red; 12 blue, 3 red
Game 71: 7 red, 3 blue; 1 red, 4 blue; 2 red, 5 green, 1 blue; 6 blue, 8 red, 1 green; 3 green, 7 blue, 8 red
Game 72: 7 green; 4 green, 2 red, 8 blue; 1 blue, 5 green
Game 73: 5 red, 5 green, 2 blue; 8 red, 1 blue, 8 green; 1 red, 3 blue, 7 green
Game 74: 17 green, 9 blue, 4 red; 20 green, 2 red, 7 blue; 7 blue, 2 green, 4 red; 2 blue, 5 red, 20 green; 1 blue, 1 red, 12 green; 19 green, 9 blue, 3 red
Game 75: 1 red, 8 green, 9 blue; 7 blue, 3 green, 1 red; 2 green, 1 red, 9 blue; 5 blue, 1 red, 8 green; 2 green, 1 red, 11 blue; 5 green, 1 red
Game 76: 3 blue, 16 green, 2 red; 10 green, 3 blue, 1 red; 6 blue, 14 red, 13 green; 7 red, 2 green, 13 blue
Game 77: 7 red, 14 green; 1 blue, 1 red; 4 red, 1 green; 7 green, 11 red
Game 78: 1 red, 19 green; 10 green, 14 red, 1 blue; 3 green, 3 blue, 11 red; 7 blue, 1 green; 15 red, 3 green, 4 blue
Game 79: 7 red, 7 green, 6 blue; 3 red, 7 green, 5 blue; 7 red, 8 green, 12 blue
Game 80: 15 red, 6 blue; 1 red, 5 green, 2 blue; 1 green, 3 blue
Game 81: 3 red, 7 blue, 7 green; 7 green, 2 blue, 4 red; 3 green, 5 blue; 9 blue, 3 red, 6 green; 6 green, 1 red, 3 blue; 8 blue, 2 green, 1 red
Game 82: 5 red, 13 green; 3 blue, 13 green; 6 blue, 4 red, 10 green; 5 red, 1 green, 4 blue; 1 blue, 8 red; 4 red, 5 green
Game 83: 17 red, 1 blue, 2 green; 3 green, 3 red, 2 blue; 1 red, 5 blue, 10 green; 4 blue, 9 red, 11 green
Game 84: 13 green, 14 red, 12 blue; 14 blue, 2 red, 1 green; 4 blue, 8 red
Game 85: 3 red, 1 blue; 6 red, 3 blue, 2 green; 5 green, 3 blue, 3 red; 3 green, 5 blue, 1 red; 1 blue, 12 red, 2 green
Game 86: 16 blue, 17 green, 7 red; 14 blue, 13 green; 18 blue, 8 green
Game 87: 1 blue, 1 red; 4 blue, 1 green, 4 red; 1 green, 16 red; 1 green, 12 red, 1 blue
Game 88: 1 red, 6 green; 3 red, 2 blue, 19 green; 11 green, 2 red; 5 blue, 5 green; 5 blue, 9 green, 1 red; 2 blue, 2 red, 4 green
Game 89: 4 green, 11 red; 8 blue, 14 red; 14 blue, 8 green, 9 red; 14 green, 15 red, 10 blue
Game 90: 8 green, 2 red, 1 blue; 11 green, 4 blue, 2 red; 7 green, 2 blue; 13 green, 1 red
Game 91: 1 blue, 3 green; 1 blue; 4 green, 1 blue, 1 red; 1 blue, 2 red; 1 green, 2 red; 2 red, 5 green, 2 blue
Game 92: 16 red, 4 green, 5 blue; 9 blue, 13 green, 5 red; 13 red, 11 green, 7 blue; 11 red, 8 green, 2 blue
Game 93: 4 blue, 3 red, 3 green; 4 blue, 2 red, 1 green; 1 green, 2 red, 2 blue; 1 green, 2 red, 2 blue; 4 green, 1 blue
Game 94: 8 blue, 11 red, 7 green; 8 red, 6 green; 15 blue, 11 green, 2 red; 9 green, 6 red; 16 blue, 5 red, 7 green
Game 95: 13 blue, 1 red, 10 green; 11 green, 9 blue; 6 blue
Game 96: 1 green, 6 red; 1 red; 12 red, 1 green; 6 red, 1 blue
Game 97: 1 red, 9 blue, 8 green; 2 green, 6 blue, 1 red; 6 green, 1 blue
Game 98: 9 blue, 7 green, 8 red; 6 red, 11 blue, 4 green; 11 green, 9 blue, 15 red; 11 red, 6 blue, 16 green
Game 99: 2 blue, 1 red, 9 green; 8 red, 1 blue, 1 green; 2 red, 7 green, 8 blue; 1 red, 5 green, 7 blue; 7 blue, 10 green, 9 red; 1 green, 1 blue, 1 red
Game 100: 3 blue, 6 red, 9 green; 4 red, 3 green; 4 green, 16 red, 1 blue; 14 blue, 1 green

91
2023/02/Kotlin/pom.xml Normal file
View File

@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>davent_day2</artifactId>
<groupId>org.example</groupId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>consoleApp</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<kotlin.code.style>official</kotlin.code.style>
<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
</properties>
<repositories>
<repository>
<id>mavenCentral</id>
<url>https://repo1.maven.org/maven2/</url>
</repository>
</repositories>
<build>
<sourceDirectory>src/main/kotlin</sourceDirectory>
<testSourceDirectory>src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>1.9.21</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.2</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<configuration>
<mainClass>MainKt</mainClass>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit5</artifactId>
<version>1.9.21</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>1.9.21</version>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,70 @@
import java.io.File
fun main(args: Array<String>) {
//part1()
part2()
}
fun part2(){
val data = File("input.txt").readLines()
var sum = 0;
data.forEach { game ->
var maxBlue = 0
var maxRed = 0
var maxGreen = 0
val temp1 = game.split(":")
val gameId = temp1[0].split(" ")[1].toInt()
val rounds = temp1[1].trim().split("; ")
//println(rounds)
rounds.forEach { round ->
val temp2 = round.split(", ")
//println(temp2)
temp2.forEach { blocks ->
//println(blocks)
val count = blocks.split(" ")[0].toInt()
val colour = blocks.split(" ")[1]
when (colour){
"red" -> if (count > maxRed) maxRed = count
"blue" -> if (count > maxBlue) maxBlue = count
"green" -> if (count > maxGreen) maxGreen = count
else -> Unit
}
}
}
sum += maxRed * maxGreen * maxBlue
}
println("Result: $sum")
}
fun part1(){
val data = File("input.txt").readLines()
var sum = 0;
data.forEach { game ->
var maxBlue = 0
var maxRed = 0
var maxGreen = 0
val temp1 = game.split(":")
val gameId = temp1[0].split(" ")[1].toInt()
val rounds = temp1[1].trim().split("; ")
//println(rounds)
rounds.forEach { round ->
val temp2 = round.split(", ")
//println(temp2)
temp2.forEach { blocks ->
//println(blocks)
val count = blocks.split(" ")[0].toInt()
val colour = blocks.split(" ")[1]
when (colour){
"red" -> if (count > maxRed) maxRed = count
"blue" -> if (count > maxBlue) maxBlue = count
"green" -> if (count > maxGreen) maxGreen = count
else -> Unit
}
}
}
if (maxRed <= 12 && maxBlue <= 14 && maxGreen <= 13){
sum += gameId
}
}
println("Result: $sum")
}

View File

@@ -0,0 +1,8 @@
import kotlin.test.Test
import kotlin.test.assertEquals
internal class TestMain {
@Test fun test() {
assertEquals(true, true)
}
}

29
2023/03/Kotlin/.gitignore vendored Normal file
View File

@@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
2023/03/Kotlin/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="ReplaceUntilWithRangeUntil" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
</profile>
</component>

6
2023/03/Kotlin/.idea/jpa-buddy.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JpaBuddyIdeaProjectConfig">
<option name="renamerInitialized" value="true" />
</component>
</project>

10
2023/03/Kotlin/.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JvmCompilerArguments">
<option name="jvmTarget" value="1.8" />
</component>
<component name="KotlinCommonCompilerArguments">
<option name="apiVersion" value="1.9" />
<option name="languageVersion" value="1.9" />
</component>
</project>

View File

@@ -0,0 +1,26 @@
<component name="libraryTable">
<library name="KotlinJavaRuntime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0-sources.jar!/" />
</SOURCES>
</library>
</component>

9
2023/03/Kotlin/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

8
2023/03/Kotlin/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/advent_day3.iml" filepath="$PROJECT_DIR$/advent_day3.iml" />
</modules>
</component>
</project>

140
2023/03/Kotlin/input.txt Normal file
View File

@@ -0,0 +1,140 @@
416.........................559...............417...............785.......900.......284...........503...796....992..........................
.........702*....772............378..569.........&.49..606...14*..............$.453*.........307....*......$.....-.................995......
.....................458...856......+.........+....&..............680.......104.............%....516.................................*......
...........822..174..*.....&...........711.746.......&............$....../.............656....#...........265=......634.*.............430...
..827.137..*...*....39................*..............856..............767........522......$..773....619..............*...287....501.........
..........726...511.............*.....320........476...............................*................%...899....72..731...........%....$.....
.....861..............232....223.933...............*.@........424*618.858.......................................$.......338.205........535..
.......#.............-....................676...713...427.................-.......615.........126...................=..*.......*...&........
....40..........996..............520.974.*..........#......*.566........907......................&...214...996*911.115.363..960..897........
....+.............*....................$..172.....559...763.....*............554......*.............*.......................................
.......527...#.....90.+....66.................................890..............=...802.93.131..791...209......&........928......303....$....
950.....*....773......105..............725........................................................%............886.......*........$.384.....
........383......741..............@..=....#.....179.18..%974..........624.......64.266.................701...........%..671.721.........942.
..................*.............914..548..........+.*.................*...........*...................*.........834.394.....*...............
.......502*80..960........................25........464.........831.846........25.........329..985...458.+.....&................377..659....
..........................................*.....292...............*............/..................@......350........938............*....$...
...738..............428......+.......311...742.........236*631....816.&......+....86.........81.......................*.973*341.266.........
......*.....673......*......614.........*.......689.48.................450...816.....754...........258..@585.......154..............@.......
...231.....#.........681...........855...775..........*.....=..257...................................*.............................469..=682
........#...................807...&.............418.19.....259....*459..906...185.356.......778.......230....................556............
.......924.........459......*..............804.=.........................*...*...........&....*................=........836..+......618.....
.....=............#.......900........+...........702..383........%..*...250..503.......637.808.......97/....@...370.......&........#.....710
..988........685............../663.273...........*...@..........16.251...........$..............*..........964.......658.....537........*...
...............*......171*......................714.....543............737.....372.............941.............113..*....=.......853....733.
............470..161......508.....56...170.............$...................389.....544.....208.....98.........%.....617...884......-..@.....
.766.591............../.........-......*.......210.........618......*874....-.........#...*....129.=..194......../...................992....
....../....170@..140+..753....918....467.854....*................989..........979...............*.............-.907...276...931*618.........
..700............................................801....929..859.....#..........*.............594.493......981..........*...................
....+............173..............................................251........629..........970........*................136.........388...*...
......721.......$......911....766..................541.234....=...........47......614....@.....*217..885.680.742....................#..84...
.377*....*81.............*.......&...937...........+...*....155..@......*............*......648............&...*.....&401......493..........
.....1.................533............*..399...........861......951..709.331..126.....876.....................289.........@.....*.......*...
..........107....452-......594.888.431....*..+660...........79................................$......275*876.......978.....594..400...39....
.........+................*....*.........925..........$.......*........599.......228..........60....................+....#..................
...283...................177...708...........642....661........294........*............................288*793.867.....482.479.769....73....
...........617..855*...&.............605................783.91.........847................&...../...............*..#..........*.......+.....
.672..303+...*........967...............*453.....884@......*...208.949........*..........986.....249.....352..818.596.56....................
...*..........88...............569.....................975.....*.....*..638....619.......................+.............*.......*.......462..
....500.....=...................*.................*205..*..-...228.508....&........................395..............845.....683.365....*....
........197.672.841..............214.=...847...912.....24.349...................%....584.257............152.................................
.626....-..........*..447............714....&.....................463....287...360........*............*...............*.................717
..........53......334...*........................*167......................*.......................554..246...........295.396......./.......
.......24..............92...........897.......220...........................930..703...414.....711..*.........723.........*....117...146....
.......&...........548.....324.21......................622.........820.404...............*....../..139......&......*.......578...*..........
.....*......204......*..........*.............226...........663.......*......555.992.....502...........631..49.#....366........677..........
..958.350.....*......44...694...449..-39........*...........-...786.........*......*............................140.........................
...............477.........*...................815..............*..........815.................521....................&...273........103....
.........828............781....464..................276......646....665-............924..........*.......955........759.........934...#.....
........*..........*..........*..........15.193.......*.....................&.................808....347*......963........*....+............
.........810.....360........638...434.....*....*751....812.....573...........85.........+.........95.......892...*...153...220..........187.
....714*....................................................80*....162=.................214...........842...&...39..........................
........265.........................51.......285$.......................586.......=.................................*.....*..............948
..989..........22.=......374.......%....................142.......736..@.....507.636.797.....273.........872.....567.978..334.....382...*...
..........@.......68..=......................116.130.......%.250../......-...=........*.........*486.415..........................*....813..
.......505............61..140..........435..........*691......*........852..........571....408..............12......80.......228...109......
.........................*.........207...*..24................402.=...........................@....................../...162................
....285.................672.552........492....$./..................3..620.391...............................179............*................
...*..........159...428.......*.................390.111.........$.....*...*..................348.355.481.......&.210..99...41...............
...52......12..@..........808.810.897...................663..280....57..............476.............*............*.....*........208=........
..........*...............*.........@.286..................*...........................*..........................905.296..............148..
.......298......119.....172.................622$..637................#......342.......679.111......-968..104*478............#.......*.......
.../.............*........../......................*..............658..........*718..........*136.....................503.899....889.498....
....691........341.262..36.549...........386........437.............................662...........848............#......*...................
.......................*..........936...*...............................-...........*......516....%......358....707..535...........841......
......$..............639............*..798.../..67%............137...716.......313.247......................-............@.....371..........
....433.677..605.267................1.......930........478........*........565*................................869.......372..@....228......
...........@..*..$...794.........................74.......#./......833.348.......................................+................*.........
......865...............*.........................*..........839.....................=......................................916..84.@.......
.................-....451........541@......468..684....18............759.............499................124.....426*.........*......882.....
...68*...........614........509...............*.........&...956*308.%........&....36...........480+....../..........917....32....#..........
......363..377.............*..........441.....418..........................279.....*.................139..........................944.......
........................412............*..........%....920*585....526*............931.346&.807..840.....*.626-...#....................923...
.....283.....924...+..................628.......33....................908..766..............*........336..........446...........191.........
...............*.249........@264..35...................502.791.#...........*......=............126....................957....71....*.768....
.........144&.36.....216.........*...........................&.730..........201..581.704.........$......715.............=......*.......%....
...349..............*....598...949.........189....981.....#.............524...................*............=................440...847.......
.................967....#..........999*6..%.........-......604............&.189.626...#774.159.647....................168.........../...329.
..............................................481.....*........................*.................................747..%.................#...
..........245...878.......495....57....841.........351.517..........-297........................343.599/........&.......360..........-......
430........&..............&.....*...&.....*885...........................9....392.......93..336*...........................*321.....86......
....469......#.................999..796..................899.........250*........$.......*........247............................+.......328
......*...696...615..300..603..............................*....232...................402...501......*.......77.271.....@.........146.......
......170......%....$.........*..991..........782.49.......128.............................*........161........*.....648......123...........
..........646................901..*.............*......134...........517..2..287........513...............................644...*...........
...................999*620.........541.379.....488..18*.......................*...............208....931.338..%143...........*...19.........
...+.......938...........................*...%.............&........626......268.418......841*..........*...............820.395..........913
.723...834*..........+............162.667.....84............803.804...*............*................399........172..530*....................
.....................596............*............................./.287............852....623....@.*..............@........168...965..*17...
.....=488...................758....607.....&......53%......................105.683......-...*.860..244.....&....$....232....................
.............................*..........333....................197........+....*......334.954.............686...464...............544.......
.139=..............754...993.677..../.......933..........391....*....357*.....952......................@..........................*.........
..........831............../.........94.600................+.121.........183........18..686.....665*..823...........575...........68........
141...800....*....692...........254@.....*...819-.....................................*..@...................17.......*...815...........686.
........%.602........%.................186..........562.93....774.....................11....948....912.........*328..243.*..................
.......................................................*..........607....280..................&....+.....................548.&897.100@...955
......504.....605...........889@.............975..664....$.....#............*....141.................378%.........812.......................
.....=...........*.....730...............%...............899..480.....*....375.....-.444.........47*.........@63...........828.....468..462.
.......607.../...23....=......=........383.............................522............*.............433..360..................*372...*......
........*...975.............428...................592*......@258...114......%......431...................*......+........658.......560.163..
........16........................329.......315.......973............*...333....@.......$....782..18...58....533........*...............*...
..327.............563...889.......*...........*..595...............913........671..354..937...%..*...&...........&.787...975.......676...247
.....+..&...401..*..............713........=.757...#.873*47...#465..................................440..588/..859.%..................*.....
.665....133...%..196....907..............348..................................162........305...................................163.-........
....*....................*...........170.........222.804....784..............*...................................................=.742......
..239..338.....27-.437..543.........*....609......*..*......-...............582..-...........343*560....852.../....636..263.................
..........*900.......*............17...........948.....597.....=....922...........682./255................@..35.......*.......211-..#.......
.......*...........686........984..........78......896*......13........+....................985...&....................278.........876.835..
....630.82....$851.....905.......*..281...*...............................352..........*746........215.877....845..........471.852.....*....
.........................*.....757.*......625...........924......878..........912...............-.........*../.....538%......+.........871..
..954*712..977.....-..762..........236.........527*674.*.........*........811*.....228....&.....5........739...483..........................
..........*.......470..................................707....363.................*......525.......303..........*........463....537.........
...460...947...............130.....757./96........*.................=...529....+..466........527................65..%648....=.....*.........
.....*......................$....../..............968..............479.&....630............................598.................952..........
.......&..........793...................................514...............-...................311..........=....83......#.............124...
.975....399.......*...-.......*814...663..................*....*...........381../...............*.............@.........284............*....
...*............367....198..........@.....992.....716*529....96.................729.329.688...%.322.-......67.79......-.......335....997....
488............................632........*...../......................387.............*....225......491.............391..750...%...........
.......861.527......778.165.......*........187..916.......845....-....*.......873.................................@.........................
..545.....*.....$.....*..*......627............................736.376..845...*....594........+.......171.........292...........*750..-.....
.................407.403............+...342.................+..........*.......897..........400.......$......................910.......350..
...........................40..284.66...*......494..........255.......653..............866.................942=..................*52........
....&........827.......296...*........$.401......*..............892*...................$.............1.164.......343..........485...........
.930............*.........*..944...308...........763....../.........62.....113....=...........421........*..........................580+....
........50*.....934......705............................999..................*....541...............847-.950..............*131..............
...........209....................................&404...............276..242.............723.652................873...313..............24..
......*........606....550#.....2./........@..................899.......*.....................*..........235..112...........704.....337......
.......837....*...............*...83...993.....*416.........-....580%..535......../.....-204...............#..*.....93+....*...723./........
..............168.....753..593..............504......./........................488..............=.............458.......872...*.............
...#85...................&......911/...................880........315..872..........=....494..349....466..428..................40...........
........939........648......................*................227...*......*.......924...*...........*.....*.................................
918*......&.@........*...902..269..834....87.826.........../...*...919.118...817......109..........933..643...........&..............-......
....949......883...111..%......*...%..................710.464.943.........../...................................842....305.....469..289.....
..........................%...974......*407..168.647...*..............617.......498/.....848...........@99........*...........+.............
..........176...........120.........469........&...#....997......464.......274.............*......./............477.417../.......738........
.........*.......964.........291..........................................-.............2..29...272..465...............-..819........718*265
....298...747.......#.......*.....+745...........460...741*762.275...491.......+.735*34.*............-....*841......+............*..........
...*........................593..............298...#............%....$......225.........943........................23.....702.601.616.......
..889................695........654..750.....*.............637........./...............................780....*726....233...*...............
..................../.................*.....453.....642....*.........828......@...94...........152/...*....790.......*.....445......../.....
...........................51.......681........................271..........719.......................964......399..426...............456...

15
2023/03/Kotlin/kotlin.iml Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/testResources" type="java-test-resource" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>

View File

@@ -0,0 +1,73 @@
import java.awt.Point
import java.io.File
fun main() {
val input = File("Input.txt").readLines()
var sum = 0
val numbers = ArrayList<PartNumber>()
input.forEachIndexed { indexY, line ->
var isDigitFlag = 0
var startIndex = 0
var number = ""
line.forEachIndexed { indexX, c: Char ->
if (c.isDigit()) {
if (isDigitFlag == 0) {
startIndex = indexX
}
number += c
isDigitFlag = 1
} else if (isDigitFlag == 1) {
isDigitFlag = -1
}
if (isDigitFlag == -1) {
numbers.add(PartNumber(number.toInt(), indexY, startIndex, indexX - 1))
number = ""
isDigitFlag = 0
}
}
}
val symbols = ArrayList<Point>()
input.forEachIndexed { y, line ->
line.forEachIndexed { x, c ->
if (!c.isDigit() && c != '.') {
symbols.add(Point(x, y))
}
}
}
symbols.forEach { cord ->
val around = getSurroundingCords(cord)
numbers.forEach { partNumber ->
val seen = ArrayList<PartNumber>()
around.forEach { p ->
if (p.x in partNumber.startIndex..partNumber.endIndex && p.y == partNumber.y && !seen.contains(partNumber)){
//println(partNumber.number)
seen.add(partNumber)
sum += partNumber.number
}
}
}
}
println(sum)
}
fun getSurroundingCords(p: Point): List<Point> {
return listOf(
Point(p.x - 1, p.y - 1),
Point(p.x, p.y - 1),
Point(p.x + 1, p.y - 1),
Point(p.x - 1, p.y),
Point(p.x + 1, p.y),
Point(p.x - 1, p.y + 1),
Point(p.x, p.y + 1),
Point(p.x + 1, p.y + 1)
)
}
data class PartNumber(
val number: Int,
val y: Int,
val startIndex: Int,
val endIndex: Int
)

29
2023/04/Kotlin/.gitignore vendored Normal file
View File

@@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
2023/04/Kotlin/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="ReplaceUntilWithRangeUntil" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
</profile>
</component>

6
2023/04/Kotlin/.idea/jpa-buddy.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JpaBuddyIdeaProjectConfig">
<option name="renamerInitialized" value="true" />
</component>
</project>

10
2023/04/Kotlin/.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JvmCompilerArguments">
<option name="jvmTarget" value="1.8" />
</component>
<component name="KotlinCommonCompilerArguments">
<option name="apiVersion" value="1.9" />
<option name="languageVersion" value="1.9" />
</component>
</project>

View File

@@ -0,0 +1,26 @@
<component name="libraryTable">
<library name="KotlinJavaRuntime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0-sources.jar!/" />
</SOURCES>
</library>
</component>

9
2023/04/Kotlin/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

8
2023/04/Kotlin/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/advent_4.iml" filepath="$PROJECT_DIR$/advent_4.iml" />
</modules>
</component>
</project>

202
2023/04/Kotlin/Input.txt Normal file
View File

@@ -0,0 +1,202 @@
Card 1: 73 92 13 35 18 96 37 72 76 39 | 82 14 66 57 25 98 49 28 3 95 81 85 31 30 16 79 7 12 55 19 97 45 9 58 2
Card 2: 41 93 82 81 96 56 46 13 44 79 | 13 28 47 49 46 94 84 87 96 45 41 79 35 43 31 34 81 82 64 93 8 56 9 44 55
Card 3: 22 26 55 46 94 88 3 17 91 95 | 95 97 44 25 46 91 17 20 43 94 22 34 62 73 31 55 60 79 88 90 3 80 33 89 26
Card 4: 78 32 27 65 64 28 43 81 50 93 | 95 37 77 46 29 55 98 88 94 72 53 80 43 41 7 63 92 33 32 66 2 35 31 24 65
Card 5: 74 21 96 20 45 88 18 10 53 73 | 80 87 86 81 28 11 77 16 70 44 8 22 72 85 27 35 42 36 84 37 59 9 41 56 3
Card 6: 70 48 93 10 63 97 20 77 72 42 | 19 7 12 1 47 31 72 88 36 82 69 17 29 62 22 8 32 86 52 76 96 41 51 55 44
Card 7: 79 43 87 42 8 74 51 69 3 44 | 30 27 19 42 99 28 68 43 5 36 54 24 92 97 34 44 96 2 50 82 35 69 25 45 18
Card 8: 11 39 32 62 93 41 75 94 23 29 | 40 31 95 41 17 21 81 90 34 13 4 5 48 24 20 80 50 26 27 43 54 61 8 73 89
Card 9: 75 99 39 45 32 35 55 87 76 21 | 34 14 80 3 93 46 71 78 23 22 87 82 42 49 76 94 10 51 44 58 11 4 91 26 43
Card 10: 34 53 9 36 52 30 70 60 65 96 | 85 31 29 41 4 88 63 93 9 52 11 37 23 61 51 71 97 26 70 15 38 72 94 64 95
Card 11: 41 92 42 94 63 89 85 25 86 98 | 3 20 70 74 93 34 21 82 37 55 9 79 85 41 14 99 2 92 90 26 40 57 67 89 31
Card 12: 50 37 85 46 56 44 2 42 60 66 | 69 78 30 59 71 87 6 51 9 81 75 45 24 16 31 61 44 96 41 86 23 17 42 27 40
Card 13: 24 46 50 29 89 77 49 25 53 65 | 63 66 43 86 11 9 40 70 38 79 78 27 12 20 84 42 67 73 22 8 68 35 6 4 69
Card 14: 72 68 9 78 90 40 55 37 16 52 | 27 98 76 63 58 70 8 44 48 90 6 92 3 20 96 88 59 31 95 15 45 47 30 65 64
Card 15: 15 28 38 87 24 61 26 13 18 94 | 63 56 51 29 17 47 21 62 19 14 69 32 60 41 11 10 54 89 7 35 71 16 96 20 27
Card 16: 11 24 42 76 99 12 45 94 33 10 | 36 94 72 31 12 28 24 18 11 99 61 33 79 10 53 35 76 42 43 22 78 27 62 59 45
Card 17: 72 40 35 28 16 51 2 89 83 39 | 68 79 67 15 77 35 12 34 57 16 10 75 72 39 89 60 27 29 19 17 32 45 37 38 14
Card 18: 13 68 25 92 79 95 67 87 50 7 | 29 23 1 59 91 51 17 80 12 84 27 66 69 61 39 16 34 44 54 37 4 11 9 45 14
Card 19: 62 14 80 15 40 69 26 65 83 32 | 72 18 66 83 59 48 65 50 37 93 80 14 67 60 40 68 32 69 27 85 30 31 62 15 26
Card 20: 4 20 48 56 11 13 8 83 98 96 | 87 25 5 99 19 3 51 79 36 35 39 43 45 63 80 40 20 75 24 64 54 98 95 68 72
Card 21: 13 67 19 78 79 47 49 69 8 9 | 44 9 47 62 50 78 19 76 8 57 77 13 39 11 43 67 49 18 79 94 69 55 58 7 70
Card 22: 21 39 6 99 81 57 22 53 95 90 | 80 46 74 15 69 72 14 16 87 10 99 20 45 81 6 27 51 21 40 89 90 95 65 57 50
Card 23: 27 36 95 10 68 52 30 43 51 70 | 62 52 51 95 68 25 11 30 65 10 55 49 27 81 34 37 63 43 9 56 96 70 1 36 58
Card 24: 31 57 94 2 78 82 63 27 97 70 | 97 58 46 37 70 2 98 57 11 29 36 94 51 90 56 27 13 31 39 28 60 71 96 78 26
Card 25: 96 13 61 89 70 80 93 57 9 28 | 13 27 29 50 9 94 59 80 16 7 40 89 91 3 60 75 17 18 36 86 15 28 26 61 57
Card 26: 53 96 15 97 36 13 31 22 19 35 | 61 55 1 92 93 65 19 41 52 3 85 24 22 78 13 70 66 54 31 95 71 96 58 97 35
Card 27: 56 75 28 85 82 52 58 59 13 33 | 2 31 12 10 81 94 9 80 5 95 43 55 83 60 66 79 61 58 49 34 29 57 99 92 88
Card 28: 4 21 19 94 95 47 92 52 78 73 | 72 96 85 7 26 44 56 86 49 6 63 35 1 66 4 70 13 40 71 17 62 8 69 76 32
Card 29: 44 13 92 57 70 83 96 63 6 76 | 51 30 71 38 42 76 77 99 10 64 26 81 21 50 89 59 31 8 79 83 85 2 5 75 44
Card 30: 59 26 61 78 20 5 11 32 87 23 | 97 41 35 31 27 80 83 51 42 2 17 48 69 6 37 62 43 29 18 73 8 95 82 79 45
Card 31: 80 30 36 54 1 81 95 16 45 62 | 99 73 91 43 93 23 4 51 71 30 84 28 80 63 46 53 49 55 74 31 25 2 52 3 21
Card 32: 10 9 5 18 68 47 81 1 93 65 | 55 80 77 33 50 94 56 9 58 22 86 31 51 2 88 44 98 99 26 21 3 30 20 52 93
Card 33: 16 48 32 5 1 96 11 2 14 46 | 80 10 79 87 19 5 71 72 30 29 93 13 39 67 8 49 22 48 76 28 52 23 58 38 81
Card 34: 70 24 23 27 67 55 95 96 80 92 | 54 5 42 37 93 49 10 7 74 80 50 34 78 40 2 28 39 52 3 83 62 21 91 71 73
Card 35: 70 96 75 73 29 58 88 16 77 71 | 68 42 64 11 65 63 5 79 38 52 34 41 86 35 25 44 48 93 20 60 78 4 90 80 21
Card 36: 17 59 71 39 41 83 86 51 4 23 | 88 96 35 17 91 16 34 26 27 92 75 97 46 78 39 80 32 60 70 9 81 28 50 95 18
Card 37: 52 75 8 64 39 42 10 34 71 73 | 62 34 29 80 46 64 2 42 81 45 55 44 17 33 66 26 12 50 52 8 94 4 43 85 48
Card 38: 61 74 68 26 97 31 86 96 41 98 | 95 56 70 49 3 86 21 8 90 39 96 26 30 16 46 31 97 89 61 68 53 41 98 54 74
Card 39: 3 18 75 56 73 41 43 82 34 33 | 70 26 42 78 6 56 90 41 17 75 18 47 82 32 13 60 81 39 5 52 54 55 12 48 98
Card 40: 96 25 22 84 95 72 50 40 90 69 | 48 91 77 78 16 17 55 26 1 28 14 31 23 79 51 24 82 97 62 47 13 93 12 4 20
Card 41: 71 54 24 39 7 51 95 46 90 17 | 96 44 64 69 8 62 97 39 48 2 76 71 37 84 90 54 95 81 46 63 7 51 50 24 47
Card 42: 48 94 44 43 57 58 55 7 17 11 | 2 12 84 40 96 57 73 17 55 94 43 87 90 95 35 21 11 42 34 26 25 10 74 60 41
Card 43: 75 8 12 87 36 35 33 62 11 39 | 25 73 71 64 46 99 60 57 15 24 80 10 74 67 12 23 63 69 56 55 20 53 1 52 81
Card 44: 66 71 25 56 8 65 96 38 68 41 | 41 33 18 60 66 72 37 87 59 94 56 96 5 7 17 21 14 25 93 39 74 79 46 71 11
Card 45: 27 8 93 49 24 48 23 78 98 51 | 71 37 96 47 74 21 9 40 12 45 49 70 84 76 58 53 50 91 34 85 13 7 5 29 55
Card 46: 84 42 44 27 98 64 19 28 93 74 | 17 15 4 47 75 52 73 90 89 57 55 36 80 81 54 71 88 53 1 56 21 32 66 91 38
Card 47: 53 21 4 28 65 58 49 98 10 23 | 25 20 19 64 10 67 15 78 80 7 83 13 35 38 75 86 33 28 98 27 73 70 59 79 14
Card 48: 37 12 5 10 95 45 70 11 72 97 | 16 89 35 32 24 78 71 91 14 52 9 63 53 36 17 8 82 97 69 27 26 12 81 67 43
Card 49: 54 4 71 83 72 50 95 78 35 36 | 46 87 98 18 36 72 74 75 66 70 69 16 21 58 90 33 93 68 41 59 7 23 92 5 11
Card 50: 70 93 33 38 27 36 61 55 74 94 | 40 20 58 70 78 12 14 31 95 29 19 65 81 17 90 16 45 51 13 97 72 63 53 41 88
Card 51: 27 14 41 6 24 48 96 66 43 18 | 11 1 81 92 8 29 26 13 35 73 3 78 93 52 98 77 60 99 62 79 22 54 9 21 30
Card 52: 1 28 54 70 24 22 50 37 63 87 | 22 11 71 87 50 25 24 70 37 14 95 28 40 80 3 54 63 58 82 1 34 41 13 10 75
Card 53: 33 96 53 80 60 6 35 77 32 83 | 35 5 43 67 32 80 18 79 58 91 28 96 23 53 6 83 77 86 71 50 21 33 60 30 24
Card 54: 45 76 84 5 12 3 44 2 81 59 | 6 76 63 81 16 2 12 3 87 44 21 24 45 19 59 84 5 17 68 80 66 36 15 99 31
Card 55: 5 67 46 50 68 64 14 94 11 4 | 45 34 62 53 97 65 37 27 68 36 22 44 20 60 75 77 89 55 33 9 13 28 63 31 47
Card 56: 51 96 40 33 39 81 74 60 62 65 | 70 90 69 76 32 62 40 65 56 80 28 33 74 81 82 94 60 12 49 7 39 96 8 63 51
Card 57: 24 71 51 97 23 89 41 46 6 56 | 62 52 20 4 67 24 38 5 92 50 11 63 59 17 55 83 98 21 48 87 97 32 23 53 66
Card 58: 63 72 78 10 64 46 65 54 95 9 | 8 77 4 58 32 82 42 49 97 47 40 2 87 24 9 94 63 61 17 27 56 55 12 75 39
Card 59: 62 67 17 58 45 46 91 94 81 93 | 46 40 52 26 74 81 17 41 82 61 12 50 35 97 62 94 28 58 38 45 92 63 67 93 91
Card 60: 81 21 13 88 69 2 49 17 59 51 | 64 4 59 28 95 21 2 17 49 88 48 13 82 51 18 65 54 81 42 10 22 69 32 85 60
Card 61: 50 51 58 20 22 31 61 89 84 7 | 1 68 27 88 52 39 13 23 2 3 42 5 55 29 77 38 44 95 63 34 46 75 4 60 16
Card 62: 62 84 76 41 71 86 25 15 55 42 | 71 32 35 76 42 41 84 15 1 43 30 88 48 86 25 70 98 62 93 3 13 46 77 97 50
Card 63: 34 20 1 29 7 61 31 97 81 85 | 26 8 78 2 29 61 23 59 60 7 10 86 12 64 1 87 24 56 58 30 19 53 36 81 34
Card 64: 3 82 28 70 49 95 9 52 45 38 | 27 28 65 81 57 15 29 71 32 60 48 52 4 73 38 72 67 10 88 7 3 5 78 91 18
Card 65: 85 74 52 87 60 24 82 72 67 93 | 72 4 87 52 86 48 39 67 18 15 99 41 78 38 60 84 36 75 79 23 2 42 54 16 69
Card 66: 33 54 78 76 24 29 62 20 2 98 | 76 98 51 99 75 2 30 83 33 72 28 3 29 62 20 84 54 61 59 94 1 16 63 24 78
Card 67: 59 78 56 63 44 35 10 94 13 4 | 46 63 56 1 94 86 55 80 20 28 50 67 4 53 6 59 13 58 93 10 22 19 84 12 8
Card 68: 87 12 41 7 75 43 62 68 63 81 | 4 95 20 24 91 37 70 56 67 49 90 82 6 21 59 30 71 64 41 65 58 96 8 25 13
Card 69: 89 39 8 86 62 97 53 84 72 74 | 11 48 25 89 72 59 7 85 15 19 65 80 54 1 21 38 29 30 40 58 56 49 3 83 52
Card 70: 75 49 73 78 29 12 47 36 24 88 | 92 84 50 75 12 34 73 28 97 86 29 56 78 8 69 47 17 44 32 68 81 15 16 26 37
Card 71: 44 41 24 40 59 85 74 36 4 92 | 33 48 32 49 78 34 35 29 45 93 36 37 18 98 16 17 58 69 40 61 66 94 60 59 75
Card 72: 9 21 83 27 2 23 99 7 6 59 | 73 74 81 25 65 33 29 14 27 44 24 63 49 43 12 37 69 79 36 54 52 82 55 78 94
Card 73: 71 70 3 47 31 76 78 72 86 98 | 95 20 70 33 45 89 85 29 52 88 42 90 6 80 25 58 79 13 48 67 41 49 24 27 39
Card 74: 22 39 58 70 56 59 3 98 61 97 | 13 84 72 47 11 52 4 35 46 49 5 24 62 43 9 40 63 16 99 93 33 83 30 91 14
Card 75: 29 48 85 95 64 61 35 99 15 46 | 98 97 9 76 5 14 74 87 38 75 82 54 4 63 20 53 79 40 62 96 2 85 31 36 80
Card 76: 70 94 3 1 46 48 87 5 16 74 | 52 14 22 6 24 65 4 8 42 36 66 43 9 45 93 69 51 57 19 44 81 98 77 35 79
Card 77: 77 8 29 21 11 31 93 74 72 71 | 67 8 43 72 62 40 11 77 71 29 61 92 74 12 52 37 78 93 56 31 14 21 63 39 35
Card 78: 66 48 5 4 63 54 91 74 76 77 | 48 54 36 95 11 61 76 52 46 65 18 67 66 63 62 19 5 74 77 64 4 42 9 91 55
Card 79: 57 19 65 23 69 74 28 97 89 41 | 89 15 41 99 58 53 8 17 23 81 28 94 43 57 1 46 71 38 87 6 49 59 80 85 75
Card 80: 64 39 19 41 14 6 91 8 61 46 | 66 94 39 82 43 92 33 8 30 1 40 55 18 95 6 86 7 80 91 65 97 9 12 61 2
Card 81: 26 28 44 29 78 30 14 68 22 40 | 38 8 25 72 51 31 16 71 45 37 87 23 85 64 7 6 34 44 90 9 13 15 82 49 32
Card 82: 47 26 6 33 32 1 37 42 96 29 | 68 20 10 56 6 27 13 22 83 15 41 37 24 79 52 93 80 94 45 92 50 46 2 78 42
Card 83: 33 32 63 1 19 69 29 3 64 10 | 69 43 8 32 9 67 40 23 64 20 96 27 1 42 11 19 3 10 63 33 22 29 55 6 49
Card 84: 25 47 44 53 22 60 77 89 37 67 | 99 48 44 53 60 6 9 8 22 70 37 96 50 47 25 89 11 49 67 90 29 32 77 40 66
Card 85: 30 60 57 86 93 88 18 27 48 82 | 94 10 57 86 59 88 48 52 78 29 20 41 82 77 90 87 64 6 60 81 44 51 2 68 45
Card 86: 8 29 97 92 91 69 48 82 51 67 | 40 81 10 97 57 94 7 65 84 17 96 38 5 76 98 55 39 34 88 27 12 18 3 26 9
Card 87: 29 21 65 98 26 23 40 94 90 51 | 42 53 95 94 62 75 86 55 29 49 92 21 87 37 56 40 13 68 65 23 26 98 38 31 69
Card 88: 30 79 14 43 73 41 36 83 19 17 | 3 73 70 55 99 34 90 38 26 5 85 22 81 97 66 16 24 88 2 33 21 63 96 58 41
Card 89: 81 41 29 97 76 57 30 79 25 52 | 76 37 89 90 38 17 87 46 7 93 99 54 41 62 79 43 82 95 70 61 29 58 48 12 60
Card 90: 26 94 39 29 48 22 16 98 66 64 | 52 66 61 50 45 64 80 27 5 14 68 13 58 37 7 26 39 82 16 72 33 8 48 99 88
Card 91: 87 17 19 24 64 7 45 28 36 23 | 54 16 64 83 48 49 61 31 95 66 92 15 85 41 3 82 63 67 55 57 9 68 18 32 43
Card 92: 48 41 8 81 26 60 65 73 1 88 | 39 65 51 63 69 88 25 41 3 13 66 98 18 31 73 71 86 12 10 96 6 93 20 9 82
Card 93: 79 2 21 93 97 59 62 43 83 73 | 26 9 28 84 47 46 44 2 83 5 13 95 7 4 36 35 11 10 72 82 90 65 73 98 87
Card 94: 74 86 50 28 11 2 94 47 54 77 | 1 69 35 40 22 19 16 61 66 68 28 56 29 85 10 51 83 7 50 59 92 71 9 86 67
Card 95: 96 12 56 26 91 15 64 61 82 40 | 52 14 50 70 93 83 54 42 84 19 43 80 82 25 73 3 44 45 81 5 87 41 8 16 78
Card 96: 80 38 2 91 44 92 19 43 10 64 | 11 45 21 28 31 71 23 88 93 62 17 27 7 78 33 32 54 84 5 72 15 52 63 68 91
Card 97: 32 54 71 38 5 89 28 47 75 42 | 98 34 57 25 9 80 37 71 61 62 94 6 65 13 92 84 11 2 72 90 17 67 4 1 46
Card 98: 39 57 6 68 64 91 90 51 78 10 | 56 30 1 12 62 44 21 69 53 65 84 32 96 25 94 92 38 60 14 47 77 13 71 93 20
Card 99: 6 89 48 77 90 57 21 72 87 73 | 39 48 45 73 87 79 14 25 57 72 66 89 31 30 77 50 74 6 34 36 21 23 90 10 49
Card 100: 33 40 16 54 58 60 30 47 22 6 | 31 47 30 76 48 67 33 68 22 57 54 5 16 6 58 43 3 64 55 15 40 60 77 13 4
Card 101: 19 52 71 42 34 73 35 89 62 46 | 9 73 26 49 72 14 19 46 99 32 4 88 84 10 87 17 27 89 30 98 40 7 75 78 90
Card 102: 2 79 8 73 25 16 82 47 20 52 | 71 88 82 79 2 51 52 3 54 20 56 19 69 10 97 66 45 28 36 39 47 61 40 13 42
Card 103: 77 28 11 32 36 23 39 88 76 51 | 26 36 99 55 25 19 31 42 18 66 39 11 59 46 4 74 23 71 77 16 84 58 28 32 53
Card 104: 22 90 17 19 96 62 98 55 41 49 | 90 91 74 23 98 84 77 31 81 16 41 67 49 55 56 86 22 24 73 52 99 62 93 32 34
Card 105: 41 91 2 4 18 81 52 93 89 87 | 3 47 6 77 60 24 97 26 70 19 37 36 51 82 48 21 31 99 73 88 59 15 46 35 32
Card 106: 48 54 60 39 80 50 13 61 43 51 | 24 66 90 38 10 74 28 29 89 16 5 25 2 54 15 34 70 7 44 47 14 48 69 78 13
Card 107: 10 20 81 62 85 75 4 49 58 1 | 32 89 48 79 90 96 15 59 36 14 49 55 38 34 30 11 62 28 53 72 17 77 41 80 66
Card 108: 79 94 49 89 78 71 20 7 48 56 | 11 53 35 90 22 29 4 71 48 94 70 8 72 78 27 45 7 21 49 16 55 56 73 42 81
Card 109: 32 73 98 31 4 46 57 11 40 88 | 36 40 89 47 18 87 98 48 45 84 21 1 80 33 67 32 64 28 61 3 51 10 86 97 62
Card 110: 45 51 97 87 23 48 19 50 63 55 | 19 20 15 22 27 24 38 93 55 54 98 23 28 97 82 59 73 11 8 1 18 64 50 63 48
Card 111: 38 1 49 22 26 96 3 88 24 70 | 79 58 20 74 70 80 55 68 35 77 88 3 24 40 87 53 50 47 38 54 82 26 49 7 2
Card 112: 79 90 9 20 94 36 88 31 48 42 | 25 68 69 52 24 98 76 63 97 41 67 94 61 90 32 87 18 13 75 38 84 60 64 86 89
Card 113: 7 32 6 52 76 72 39 24 46 79 | 67 19 31 94 50 26 66 11 45 80 86 68 88 22 65 3 99 12 90 79 38 14 4 73 54
Card 114: 80 54 9 2 58 26 44 63 15 21 | 5 60 76 47 87 33 89 23 4 55 17 42 62 46 97 48 90 91 95 82 34 64 30 19 31
Card 115: 51 34 88 42 20 98 75 79 39 48 | 76 94 13 58 12 66 50 72 2 89 68 21 96 25 10 45 30 7 99 15 46 59 90 9 53
Card 116: 43 32 82 89 9 63 78 57 55 77 | 19 47 23 27 70 22 18 52 28 93 36 76 80 65 21 8 67 20 84 9 12 90 92 97 5
Card 117: 71 50 45 29 32 75 10 96 82 43 | 96 46 83 47 10 11 16 39 36 3 89 9 67 5 72 53 2 27 19 7 8 24 61 37 4
Card 118: 37 44 20 31 43 47 13 46 51 39 | 8 70 7 66 48 50 18 82 84 96 73 12 6 97 62 75 17 49 26 22 4 24 54 94 61
Card 119: 36 75 46 25 47 69 95 8 94 81 | 48 91 62 11 99 10 9 7 26 15 1 79 54 45 49 27 53 78 64 65 33 31 59 17 5
Card 120: 37 96 65 31 64 95 9 55 92 29 | 71 62 77 18 86 52 33 19 8 93 30 74 17 84 59 11 69 4 41 67 76 10 66 43 38
Card 121: 39 99 21 22 11 13 61 72 49 29 | 98 79 29 42 27 73 12 40 96 13 88 45 14 18 4 36 99 80 11 22 49 23 67 21 72
Card 122: 74 88 60 36 94 18 99 55 70 16 | 91 77 18 6 93 84 97 68 45 13 63 94 14 21 31 10 65 16 61 54 70 51 30 46 36
Card 123: 67 91 97 35 11 3 8 69 81 15 | 14 45 66 15 8 29 69 24 68 67 10 59 35 18 17 53 11 3 91 12 43 72 97 81 89
Card 124: 64 61 94 18 21 17 42 80 86 43 | 25 83 69 59 57 51 87 38 91 54 56 46 4 75 99 90 73 37 20 86 49 98 21 58 81
Card 125: 51 79 20 71 43 42 46 36 77 7 | 55 46 22 24 76 86 34 95 73 36 98 63 49 43 54 28 58 10 26 62 79 97 39 60 32
Card 126: 44 51 42 27 1 84 56 38 18 91 | 27 67 1 51 42 44 19 18 73 84 16 12 56 24 91 21 97 47 99 88 90 25 6 38 65
Card 127: 85 92 63 8 17 51 43 61 52 78 | 37 81 65 43 88 97 17 79 46 51 39 23 44 78 95 2 28 49 32 85 63 84 61 8 92
Card 128: 36 40 7 30 79 76 4 37 97 27 | 97 29 30 58 84 71 4 98 78 27 6 76 43 22 37 40 36 32 7 23 70 92 53 79 48
Card 129: 98 81 33 49 20 93 32 82 39 48 | 39 65 7 78 52 87 79 53 33 60 63 81 71 93 55 92 12 30 82 32 38 27 90 95 84
Card 130: 29 59 99 28 65 42 80 87 19 85 | 87 65 59 82 28 29 64 99 79 33 9 31 19 75 53 1 20 42 97 39 72 80 8 85 63
Card 131: 88 58 37 3 66 87 67 60 84 5 | 84 86 40 82 37 16 34 55 54 70 80 65 22 77 31 48 78 11 68 18 12 52 69 17 32
Card 132: 50 23 57 31 27 1 25 2 38 21 | 52 61 75 38 15 71 90 50 76 66 22 39 99 68 13 37 78 18 87 43 63 40 53 84 2
Card 133: 3 59 60 91 93 68 65 45 86 20 | 13 32 74 8 90 68 58 94 67 38 93 97 75 2 71 20 31 37 59 30 39 44 28 34 64
Card 134: 42 6 64 28 96 55 43 58 24 40 | 36 99 10 79 2 9 42 61 84 58 35 7 77 38 85 21 64 32 78 6 96 74 89 40 55
Card 135: 38 15 49 59 73 40 13 60 41 25 | 46 80 2 60 42 59 51 57 56 27 40 62 76 37 84 16 89 18 25 73 5 22 45 70 81
Card 136: 18 17 68 43 77 76 91 13 4 79 | 11 67 10 73 23 71 8 46 87 79 5 51 58 47 62 66 24 29 55 82 93 20 80 32 42
Card 137: 60 51 99 79 67 59 66 40 25 87 | 44 53 76 5 77 75 65 90 9 41 55 22 60 23 71 30 1 86 88 15 54 66 59 13 68
Card 138: 78 65 89 48 62 88 3 12 87 99 | 11 19 39 38 69 81 12 75 17 52 26 56 29 77 91 23 93 53 50 66 15 16 85 80 71
Card 139: 34 12 48 47 25 98 32 37 21 54 | 13 62 79 43 90 72 47 11 20 82 38 29 69 10 66 35 1 84 7 52 27 42 46 91 58
Card 140: 61 27 68 51 7 58 43 89 26 59 | 2 17 44 87 36 15 6 35 57 29 62 13 56 81 40 19 53 9 85 5 10 46 64 86 88
Card 141: 40 28 9 81 37 43 18 77 83 23 | 13 59 2 31 52 30 47 6 42 89 70 69 86 92 19 93 58 49 36 8 29 99 60 63 67
Card 142: 25 6 69 2 14 44 13 93 89 95 | 13 33 76 2 14 68 95 25 18 23 44 43 89 6 93 11 4 24 9 45 38 69 36 15 17
Card 143: 3 87 14 59 7 5 69 35 20 17 | 5 16 21 69 38 50 64 97 72 30 53 77 73 13 33 55 79 70 4 10 95 59 3 41 42
Card 144: 94 63 13 51 62 72 33 9 64 22 | 11 90 13 28 47 56 10 4 93 30 7 70 33 69 62 36 72 96 24 22 71 63 52 86 73
Card 145: 76 1 41 88 97 18 10 11 52 20 | 18 11 41 1 71 52 12 94 74 44 58 70 69 73 79 97 20 45 59 76 78 88 4 10 64
Card 146: 93 1 18 44 21 66 28 60 98 9 | 13 42 18 46 28 23 96 16 12 55 70 53 98 56 64 50 15 61 25 72 24 35 8 43 97
Card 147: 67 27 79 43 7 74 11 15 64 75 | 17 57 90 7 41 36 93 29 62 14 77 5 38 33 68 70 32 13 23 6 25 30 55 45 9
Card 148: 59 62 37 5 52 53 43 29 98 2 | 33 62 93 52 29 68 43 23 11 35 87 14 76 53 59 77 4 89 48 13 2 15 49 72 99
Card 149: 38 74 24 93 50 21 19 65 95 5 | 93 82 57 95 67 11 9 55 5 74 46 2 96 19 21 92 56 14 38 33 77 58 32 43 37
Card 150: 8 99 26 38 47 48 96 20 82 92 | 80 46 13 97 66 22 40 36 85 73 63 32 1 70 49 60 90 88 43 2 48 5 76 34 50
Card 151: 41 69 32 12 5 72 3 29 2 79 | 28 41 11 64 69 71 3 87 45 40 5 15 50 95 90 53 19 55 26 98 82 12 6 77 14
Card 152: 96 20 94 19 7 68 24 56 88 97 | 54 70 63 84 26 73 35 24 39 99 6 79 44 20 64 12 38 87 1 43 46 42 11 60 8
Card 153: 60 9 99 62 93 22 16 11 34 28 | 57 43 38 98 82 89 20 58 71 40 79 53 86 1 69 4 27 19 36 85 83 33 59 90 96
Card 154: 45 75 27 11 76 24 1 4 21 99 | 96 51 54 55 78 69 24 31 77 18 92 17 89 86 3 11 19 15 88 64 49 47 68 36 14
Card 155: 97 56 99 89 82 6 17 15 52 29 | 23 26 85 70 13 47 72 1 51 64 90 44 53 45 42 77 88 32 74 25 58 68 37 21 79
Card 156: 28 78 54 72 36 25 84 47 87 30 | 75 49 44 5 83 48 16 17 82 33 60 15 12 94 41 66 23 51 43 39 6 55 34 77 32
Card 157: 44 74 36 93 15 96 25 12 19 40 | 84 44 54 96 80 48 59 79 78 55 42 27 11 69 76 19 93 2 35 83 77 43 40 85 99
Card 158: 74 73 99 41 17 45 92 80 21 85 | 85 51 97 91 69 81 74 73 88 80 28 14 6 95 99 92 50 29 17 5 77 89 76 21 41
Card 159: 7 2 83 33 51 95 96 18 75 52 | 52 96 21 27 47 98 51 83 29 77 75 53 2 64 7 33 57 82 50 14 95 34 79 44 18
Card 160: 46 54 7 84 37 42 60 9 47 10 | 84 34 9 85 24 29 80 8 88 10 1 46 43 59 47 76 81 26 68 60 30 42 7 56 37
Card 161: 18 88 61 65 90 29 1 20 22 25 | 25 84 28 2 45 61 39 71 35 32 16 18 65 1 29 23 49 5 22 83 78 24 20 88 90
Card 162: 78 93 50 17 75 29 69 31 65 85 | 31 18 45 12 28 85 65 69 81 15 32 64 22 40 33 23 50 17 29 97 7 37 63 93 78
Card 163: 66 47 30 99 34 45 60 82 72 43 | 73 98 29 36 35 54 49 61 17 1 52 95 81 56 31 27 15 96 24 20 32 33 65 55 82
Card 164: 45 23 93 75 49 1 3 12 36 67 | 77 79 15 82 12 93 49 23 45 31 8 62 66 75 32 48 6 30 78 67 64 3 36 1 94
Card 165: 75 62 57 30 69 52 35 84 17 32 | 9 17 46 33 69 29 35 34 84 55 57 83 56 70 10 7 30 75 27 99 52 62 32 47 77
Card 166: 2 79 15 96 51 77 38 98 36 74 | 1 54 12 73 39 75 87 24 49 74 43 53 56 16 34 99 26 30 50 40 86 94 35 66 65
Card 167: 41 77 3 17 78 56 92 33 87 52 | 98 37 44 68 43 53 76 13 74 59 49 71 66 90 54 82 46 5 95 16 15 62 96 58 25
Card 168: 23 61 30 69 41 58 21 49 97 16 | 26 74 24 40 58 30 20 38 34 87 72 46 15 77 50 2 57 1 75 81 84 70 23 69 11
Card 169: 9 17 32 25 1 65 22 46 8 99 | 84 19 66 27 28 15 34 90 42 2 43 87 78 6 81 46 24 13 63 3 48 20 86 70 73
Card 170: 32 86 96 77 56 40 66 46 89 2 | 87 1 50 91 59 96 29 70 92 93 33 10 20 45 12 60 63 21 14 54 36 80 56 19 75
Card 171: 70 36 51 80 5 24 40 87 72 30 | 30 52 71 81 84 97 22 95 72 53 46 55 44 51 24 19 98 63 73 56 6 80 90 59 77
Card 172: 97 74 79 52 85 56 40 2 30 54 | 66 40 49 94 16 47 57 85 24 45 53 63 51 74 69 38 46 90 50 91 75 97 28 31 62
Card 173: 72 49 45 75 23 20 90 50 48 94 | 38 34 28 33 91 65 87 19 37 30 9 18 64 14 53 70 49 39 90 79 88 51 12 57 48
Card 174: 48 39 78 41 80 49 43 87 61 22 | 68 39 65 84 67 79 10 29 78 81 36 73 62 6 44 72 27 1 19 66 93 4 16 46 50
Card 175: 96 91 10 82 43 98 30 65 3 83 | 49 77 40 78 70 23 52 34 16 2 64 72 69 61 15 33 79 32 39 74 7 92 24 46 36
Card 176: 29 21 33 68 60 35 11 99 82 61 | 81 13 97 71 32 40 23 36 59 53 66 54 62 47 89 93 44 33 87 55 26 18 31 64 67
Card 177: 97 45 62 55 76 34 66 54 14 68 | 94 42 28 30 32 58 33 48 46 80 7 15 92 98 95 81 90 17 71 24 26 16 39 13 93
Card 178: 99 45 47 89 4 17 36 14 86 96 | 40 33 56 89 17 93 94 45 75 4 5 99 37 36 47 98 70 44 86 65 14 73 96 8 22
Card 179: 30 63 6 25 4 85 41 17 83 11 | 44 92 25 71 95 61 50 11 27 4 6 30 9 85 63 67 87 13 17 83 18 53 41 10 52
Card 180: 70 89 32 66 15 30 76 8 42 36 | 36 16 89 13 45 42 31 77 76 30 71 27 8 95 98 32 35 14 66 70 26 85 72 33 15
Card 181: 74 81 12 28 22 21 14 54 3 5 | 32 59 69 67 15 35 42 12 34 11 5 71 79 2 73 14 55 87 56 65 28 17 30 99 9
Card 182: 79 41 90 19 21 15 66 2 55 59 | 2 93 34 65 67 63 72 79 15 5 59 14 55 95 70 83 90 21 68 66 19 7 41 92 3
Card 183: 6 8 44 39 74 78 10 2 61 59 | 6 61 75 44 62 92 77 29 8 39 78 20 73 18 68 4 60 66 74 59 49 3 2 5 10
Card 184: 68 32 10 82 15 95 56 89 28 42 | 25 56 28 73 6 11 43 37 95 2 70 18 19 90 45 89 26 42 10 32 7 98 82 15 68
Card 185: 66 74 17 3 71 21 51 28 14 48 | 80 34 77 37 45 74 84 20 44 14 31 66 51 48 17 86 12 43 71 56 35 13 4 93 27
Card 186: 79 33 25 28 86 18 57 7 76 40 | 26 16 59 99 31 62 77 21 23 70 7 25 35 49 81 18 72 45 65 58 86 51 88 80 76
Card 187: 1 2 73 43 13 64 69 21 3 46 | 65 37 53 92 82 13 12 28 3 58 71 46 64 1 56 19 98 21 73 43 60 2 57 29 69
Card 188: 85 77 35 15 22 67 79 18 66 99 | 42 46 93 19 28 4 89 32 95 75 11 57 6 40 39 30 22 43 41 24 8 78 58 69 48
Card 189: 13 48 6 61 55 38 75 96 76 42 | 42 32 61 81 55 13 26 41 9 77 70 68 56 35 58 89 20 75 6 72 91 38 90 93 96
Card 190: 19 78 50 35 32 14 45 70 16 77 | 32 92 71 86 75 77 9 8 19 68 16 6 67 33 15 78 43 57 55 85 69 35 73 50 14
Card 191: 71 62 7 72 70 4 89 95 94 59 | 36 94 40 6 71 59 45 28 90 12 89 95 16 85 83 88 4 48 72 62 76 7 13 70 11
Card 192: 52 15 61 83 18 67 29 75 34 36 | 8 65 43 93 67 53 88 83 52 75 81 37 49 29 6 39 76 91 92 36 19 98 50 41 33
Card 193: 78 94 7 48 25 16 91 38 13 5 | 22 77 76 84 17 40 41 36 93 56 50 35 64 59 23 95 89 49 61 30 42 85 37 92 44
Card 194: 66 92 16 37 42 62 86 76 98 36 | 46 60 34 31 79 40 11 19 16 74 75 36 71 43 13 2 90 76 50 29 85 55 54 10 35
Card 195: 66 23 45 62 30 95 38 5 97 39 | 96 65 37 89 95 73 69 75 25 45 51 22 62 7 33 13 94 78 34 35 36 56 55 70 24
Card 196: 15 45 70 41 97 27 80 64 25 28 | 88 93 65 83 36 16 35 92 6 71 82 24 17 64 66 33 37 69 78 60 56 49 91 19 61
Card 197: 46 35 2 60 75 99 6 42 47 21 | 91 93 70 8 46 6 35 50 55 72 71 64 47 82 39 94 25 67 41 60 86 83 87 90 7
Card 198: 71 62 73 96 79 63 41 17 56 68 | 95 77 16 70 29 68 66 63 98 80 20 18 31 34 52 5 42 22 49 6 25 38 51 75 50
Card 199: 70 84 46 98 44 45 16 36 29 99 | 78 21 92 77 32 91 22 90 76 74 42 55 51 69 94 64 26 65 41 97 10 34 15 35 9
Card 200: 96 60 87 21 80 48 44 69 3 49 | 2 65 66 94 55 62 72 52 86 15 30 71 45 82 49 47 81 33 14 42 4 1 51 75 34
Card 201: 55 53 33 19 1 70 17 61 2 72 | 62 6 30 86 45 71 46 33 15 90 73 37 18 12 68 87 89 49 8 60 52 22 51 25 74
Card 202: 5 47 96 53 54 14 77 29 12 3 | 26 71 91 86 59 70 78 8 83 92 35 64 9 79 84 34 36 93 90 40 16 44 51 6 4

15
2023/04/Kotlin/kotlin.iml Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/testResources" type="java-test-resource" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>

View File

@@ -0,0 +1,54 @@
import java.io.File
import kotlin.math.pow
fun main() {
part2()
}
fun part2() {
val input = File("Input.txt").readLines()
val map: HashMap<Int, Int> = HashMap()
input.forEachIndexed { card_num, line ->
val cleaned = line.split(":")[1].trim()
val winNum = cleaned.split("|")[0].trim().split(" ")
val nums = cleaned.split("|")[1].trim().split(" ").filter { it.isNotBlank() }
var count = 0
val virtual_count = map.getOrDefault(card_num + 1, 0)
nums.forEach { num ->
if (num in winNum) {
count += 1
}
}
//println("${card_num + 1}: $count")
map.merge(card_num, 1, Int::plus)
//map.remove(0)
if (count > 0){
for (i in 1..count){
for (a in 0..virtual_count){
map.merge(card_num + i + 1, 1, Int::plus)
}
}
}
}
println(map.values.sum())
}
fun part1() {
val input = File("Input.txt").readLines()
var sum = 0.0
input.forEach { line ->
var cardPoints = -1
val cleaned = line.split(":")[1].trim()
val winNum = cleaned.split("|")[0].trim().split(" ")
val nums = cleaned.split("|")[1].trim().split(" ").filter { it.isNotBlank() }
nums.forEach { num ->
if (num in winNum) {
cardPoints += 1
}
}
if (cardPoints > -1) {
sum += 2.0.pow(cardPoints)
}
}
println(sum)
}

29
2023/05/Kotlin/.gitignore vendored Normal file
View File

@@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
2023/05/Kotlin/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="ReplaceUntilWithRangeUntil" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
</profile>
</component>

6
2023/05/Kotlin/.idea/jpa-buddy.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JpaBuddyIdeaProjectConfig">
<option name="renamerInitialized" value="true" />
</component>
</project>

10
2023/05/Kotlin/.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Kotlin2JvmCompilerArguments">
<option name="jvmTarget" value="1.8" />
</component>
<component name="KotlinCommonCompilerArguments">
<option name="apiVersion" value="1.9" />
<option name="languageVersion" value="1.9" />
</component>
</project>

View File

@@ -0,0 +1,26 @@
<component name="libraryTable">
<library name="KotlinJavaRuntime" type="repository">
<properties maven-id="org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0" />
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-javadoc.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0-javadoc.jar!/" />
</JAVADOC>
<SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.9.0/kotlin-stdlib-jdk8-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-common/1.9.0/kotlin-stdlib-common-1.9.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/13.0/annotations-13.0-sources.jar!/" />
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.9.0/kotlin-stdlib-jdk7-1.9.0-sources.jar!/" />
</SOURCES>
</library>
</component>

9
2023/05/Kotlin/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_20" default="true" project-jdk-name="20" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
<component name="ProjectType">
<option name="id" value="jpab" />
</component>
</project>

8
2023/05/Kotlin/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/advent_5.iml" filepath="$PROJECT_DIR$/advent_5.iml" />
</modules>
</component>
</project>

33
2023/05/Kotlin/input.txt Normal file
View File

@@ -0,0 +1,33 @@
seeds: 79 14 55 13
seed-to-soil map:
50 98 2
52 50 48
soil-to-fertilizer map:
0 15 37
37 52 2
39 0 15
fertilizer-to-water map:
49 53 8
0 11 42
42 0 7
57 7 4
water-to-light map:
88 18 7
18 25 70
light-to-temperature map:
45 77 23
81 45 19
68 64 13
temperature-to-humidity map:
0 69 1
1 0 69
humidity-to-location map:
60 56 37
56 93 4

15
2023/05/Kotlin/kotlin.iml Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/testResources" type="java-test-resource" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>

View File

@@ -0,0 +1,76 @@
import java.io.File
fun main() {
var input = File("input.txt").readLines()
val seeds = input[0].split(":")[1].trim().split(" ")
var formattedInput = ""
val soilMap: HashMap<IntRange, IntRange> = HashMap()
val fertilizerMap: HashMap<IntRange, IntRange> = HashMap()
val waterMap: HashMap<IntRange, IntRange> = HashMap()
val lightMap: HashMap<IntRange, IntRange> = HashMap()
val temperatureMap: HashMap<IntRange, IntRange> = HashMap()
val humidityMap: HashMap<IntRange, IntRange> = HashMap()
val locationMap: HashMap<IntRange, IntRange> = HashMap()
input = input.drop(2)
input.forEach { line -> formattedInput += line.ifBlank { "#" }.plus(" ") }
val splitValue = formattedInput.split("#")
splitValue[0].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
soilMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
splitValue[1].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
fertilizerMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
splitValue[2].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
waterMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
splitValue[3].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
lightMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
splitValue[4].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
temperatureMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
splitValue[5].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
humidityMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
splitValue[6].split(": ").drop(1).forEach {
val numbers = it.trim().split(" ")
for (i in numbers.indices step 3) {
locationMap[numbers[i + 1].toInt()..<numbers[i + 1].toInt() + numbers[i + 2].toInt()] =
numbers[i].toInt()..<numbers[i].toInt() + numbers[i + 2].toInt()
}
}
var lowest = Int.MAX_VALUE
seeds.forEach { seed ->
val soil = 0
soilMap.keys.forEach {range ->
if (seed.toInt() in range){
soil =
}
}
}
}