Skip to content

Commit 3c36aa7

Browse files
committed
Update: code
1 parent c130925 commit 3c36aa7

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

src/main/java/io/github/imsejin/study/programmers/lv1/L133502.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
*/
1212
public class L133502 {
1313

14-
static int solve(int[] ingredient) {
14+
static int solve0(int[] ingredient) {
1515
Ingredient[] ingredients = new Ingredient[ingredient.length];
1616
for (int i = 0; i < ingredient.length; i++) {
1717
ingredients[i] = Ingredient.from(ingredient[i]);
@@ -43,6 +43,25 @@ static int solve(int[] ingredient) {
4343
return count;
4444
}
4545

46+
static int solve1(int[] ingredient) {
47+
if (ingredient.length < 4) return 0;
48+
49+
StringBuilder sb = new StringBuilder();
50+
for (int n : ingredient) {
51+
sb.append(n);
52+
}
53+
54+
int count = 0;
55+
56+
int index;
57+
while ((index = sb.indexOf("1231")) >= 0) {
58+
count++;
59+
sb.delete(index, index + 4);
60+
}
61+
62+
return count;
63+
}
64+
4665
// -------------------------------------------------------------------------------------------------
4766

4867
private enum Ingredient {

src/test/groovy/io/github/imsejin/study/programmers/lv1/L133502Spec.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ class L133502Spec extends Specification {
66

77
def "test"() {
88
when:
9-
def actual = L133502.solve(ingredient as int[])
9+
def actual = L133502.solve0(ingredient as int[])
1010

1111
then:
1212
actual == expected
13+
actual == L133502.solve1(ingredient as int[])
1314

1415
where:
1516
ingredient | expected

0 commit comments

Comments
 (0)