Skip to content

Commit

Permalink
Add initial solution
Browse files Browse the repository at this point in the history
  • Loading branch information
jonathanmorris180 committed Dec 7, 2023
1 parent eb704ce commit b51e329
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 7 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# Compiled class file
*.class

target

# Scratch files
Scratch*

# Log file
*.log

Expand Down
5 changes: 5 additions & 0 deletions .sdkmanrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=17.0.3.6.1-amzn
maven=3.8.6

6 changes: 3 additions & 3 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=disabled
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.compiler.source=1.8
5 changes: 4 additions & 1 deletion inputs/day01.txt
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
Test file
1abc2
pqr3stu8vwx
a1b2c3d4e5f
treb7uchet
5 changes: 3 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@
<properties>
<service.mainClass>com.jonathanmorris.Main</service.mainClass>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies>
Expand Down
31 changes: 30 additions & 1 deletion src/main/java/com/jonathanmorris/challenges/Day01Challenge.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.jonathanmorris.challenges;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.slf4j.Logger;
Expand All @@ -13,6 +15,33 @@ public class Day01Challenge implements Challenge {

@Override
public void execute(final List<String> lines) {
logger.debug("Lines: {}", lines);
List<Integer> numbers = new ArrayList<>();
numbers.toString();
String firstNumber = "";
String lastNumber = "";
for (String line : lines) {
logger.info("Current line is: {}", line);
List<String> chars = Arrays.asList(line.trim().split(""));
for (String currentChar : chars) {
if (isNumber(currentChar)) {
firstNumber = currentChar;
break;
}
}
for (int i = chars.size() - 1; i >= 0; i--) {
String currentChar = chars.get(i);
if (isNumber(currentChar)) {
lastNumber = currentChar;
break;
}
}
numbers.add(Integer.parseInt(String.format("%s%s", firstNumber, lastNumber)));
}
int result = numbers.stream().reduce(0, Integer::sum);
logger.info("Result is: {}", result);
}

private Boolean isNumber(final String currentChar) {
return currentChar.matches("[0-9]");
}
}

0 comments on commit b51e329

Please sign in to comment.