Repository navigation
Expand file tree
/
Copy pathSolution1.java
More file actions
55 lines (47 loc) · 1.49 KB
/
Copy pathSolution1.java
File metadata and controls
55 lines (47 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
public class Solution1 extends Solution {
public Solution1() {
super(1);
}
public static void main(String[] args) {
Solution1 solution = new Solution1();
solution.testPartTwo();
}
@Override
String solvePartOne(String inputData) {
int safePosition = 50;
int steps = 0;
for (String line : inputData.split("\n")) {
switch (line.charAt(0)) {
case 'L':
safePosition -= Integer.parseInt(line.substring(1));
break;
case 'R':
safePosition += Integer.parseInt(line.substring(1));
break;
default:
break;
}
safePosition = (safePosition + 100) % 100;
steps += safePosition == 0 ? 1 : 0;
}
return String.valueOf(steps);
}
@Override
String solvePartTwo(String inputData) {
int safePosition = 50;
int steps = 0;
for (String line : inputData.split("\n")) {
char dir = line.charAt(0);
int dist = Integer.parseInt(line.substring(1));
for (int i = 0; i < dist; i++) {
if (dir == 'L')
safePosition = (safePosition + 99) % 100;
else
safePosition = (safePosition + 1) % 100;
if (safePosition == 0)
steps++;
}
}
return String.valueOf(steps);
}
}