Skip to content

Commit 6ae99a9

Browse files
committed
Solved day 4 part 1
1 parent 1a093e1 commit 6ae99a9

File tree

4 files changed

+15
-4
lines changed

4 files changed

+15
-4
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44

55
// project meta data
66
group 'de.havox_design.aoc2015'
7-
version '0.3.2'
7+
version '0.3.3'
88

99
// Switch to gradle "all" distribution.
1010
wrapper {

day04/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
dependencies {
2+
implementation 'commons-codec:commons-codec:1.16.0'
23
}

day04/src/main/java/de/havox_design/aoc2015/day04/AdventCoins.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.havox_design.aoc2015.day04;
22

33
import de.havox_design.aoc2015.utils.DataReader;
4+
import org.apache.commons.codec.digest.DigestUtils;
45

56
import java.util.List;
67

@@ -22,7 +23,16 @@ public static int solvePart2(String fileName) {
2223
}
2324

2425
public int solvePart1() {
25-
return 0;
26+
for(int i = 0; i < Integer.MAX_VALUE; i++) {
27+
String combinedKey = input + i;
28+
String md5Hash = DigestUtils.md5Hex(combinedKey);
29+
30+
if(md5Hash.startsWith("00000")) {
31+
return i;
32+
}
33+
}
34+
35+
throw new IllegalStateException("An valid hash should be able to be found.");
2636
}
2737

2838
public int solvePart2() {

day04/src/test/java/de/havox_design/aoc2015/day04/Day04Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ void testMainClass() {
1818

1919
@ParameterizedTest
2020
@MethodSource("getDataForPart1")
21-
void testPart1(String fileName, int expectedHousesVisited) {
22-
Assertions.assertEquals(expectedHousesVisited, AdventCoins.solvePart1(fileName));
21+
void testPart1(String fileName, int expectedSecretNumber) {
22+
Assertions.assertEquals(expectedSecretNumber, AdventCoins.solvePart1(fileName));
2323
}
2424

2525
private static Stream<Arguments> getDataForPart1() {

0 commit comments

Comments
 (0)