Skip to content

Commit

Permalink
added own streaming solution for string and arrows
Browse files Browse the repository at this point in the history
  • Loading branch information
fmt-Println-MKO committed Jul 10, 2015
1 parent 068031a commit 5064ddd
Show file tree
Hide file tree
Showing 3 changed files with 140 additions and 6 deletions.
103 changes: 97 additions & 6 deletions src/de/sunbits/codeeval/stringsandarrows/Main.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package de.sunbits.codeeval.stringsandarrows;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.*;

/**
* Created by matthiaskoch on 09.07.15.
Expand All @@ -11,11 +9,103 @@ public class Main {

public static void main(String[] args) {

final char[] a1 = new char[]{'<', '-', '-', '<', '<'};
final char[] a2 = new char[]{'>', '>', '-', '-', '>'};
// stringArrows1(args[0]);
// System.out.println("--------------------------------");
stringArrows2(args[0]);
}

private static void stringArrows2(String fileName) {

InputStream is = null;

int[] a1b = new int[]{60, 45, 45, 60, 60};
int[] a2b = new int[]{62, 62, 45, 45, 62};

int b1b = 10;
int b2b = 13;
try {
final BufferedReader inputStream = new BufferedReader(new FileReader(args[0]));

is = new FileInputStream(fileName);

int ca = 0;
int curByte = is.read();
int oldByte = 0;
int j1 = 0;
int j2 = 0;
int jb = 0;
while (curByte != -1) {

if (curByte == b1b && oldByte == b2b) {
//line break only

} else if (curByte == b1b || curByte == b2b) {
//line break count
j1 = 0;
j2 = 0;
jb = 0;
System.out.println(ca);
ca = 0;
} else {

if (j1 == 1 && a1b[j1] != curByte && a1b[0] == curByte) {
} else if (a1b[j1] == curByte) {
j1++;
j2 = 0;
if (j1 == 5) {
ca++;
j1 = 1;
}
} else if (j2 == 2 && a2b[j2] != curByte && a2b[1] == curByte) {
} else if (a2b[j2] == curByte) {
j1 = 0;
j2++;
if (j2 == 5) {
ca++;
j2 = 1;
}
} else {
if (j1 > 0) {
j1 = 1;
if (a1b[j1] == curByte && a1b[0] == oldByte) {
j1++;
} else {
j1 = 0;
j2 = 0;
if (a1b[j1] == curByte) {
j1++;
} else if (a2b[j2] == curByte) {
j2++;
}
}
} else if (j2 > 0) {
j1 = 0;
j2 = 0;
if (a1b[j1] == curByte) {
j1++;
} else if (a2b[j2] == curByte) {
j2++;
}
}

}
}
oldByte = curByte;
curByte = is.read();
}
System.out.println(ca);


} catch (IOException e) {
e.printStackTrace();
}
}

private static void stringArrows1(String fileName) {

char[] a1 = new char[]{'<', '-', '-', '<', '<'};
char[] a2 = new char[]{'>', '>', '-', '-', '>'};
try {
final BufferedReader inputStream = new BufferedReader(new FileReader(fileName));

String line;
while ((line = inputStream.readLine()) != null) {
Expand Down Expand Up @@ -52,5 +142,6 @@ public static void main(String[] args) {
} catch (IOException e) {
e.printStackTrace();
}

}
}
3 changes: 3 additions & 0 deletions src/debug_stringsandarrows.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
>>>>--><<-<<<<>>->>><--<<>>>>>>>><<>>-->>><--<<<>>>>><<--><<<--<--<<>>-->>>-->--
>>-->>>-->>>>-->>>--><-->>><>>-->---------->><----<<--<---->>--><<>>-->>><<<<--<<---<--<<<--
<--<<<->>-->-<<<<<------<<<<<<--<<<--<>>>>-->>>-->--<--<<--<<-><--<<>->><--<<<<>>--><>>-->>>----
40 changes: 40 additions & 0 deletions src/stringarrows.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<--<<->>-->---<--<<<--<<<-->><--<<<>>--><><<<--<<>--<<<->>>-->>-->>>><<->>>>><<<<<--<--<<>>-->>><>--->><--<<<--
---><<->>-<--<<<--<<<--<<--
><>><<<--<<-->>-->>>--><--<<>>-->>>>>-->>>-->->>>>--><<-->><--<<----><--<<<<--<<<--<<>
>><--<<<<>>-->-<<-----<<><--<<<--<<<-->----<--<<<--<<>-->>>>-->>><--<<>>-->--->--<<>>->>--><--<<<-><--<<->>-->----<>>--><<<--<<<--<<
>>-->><<<<<<>->>-<<>>-->-<--<<<--<<-->>-->><--<<<<<<
------>>>--<>>>----><<<><--<--<<<--<<>>>-->>--->>-->>>--><--<<<--<<>>--><--<<>>--><>>-->>>>
<>>-<<->>-->--<<--><<><<>>--><<<<>>-->--->>-->-->>-->>><<<<--<><<<--<<----<>>-<<>><<<>><>>-->>>-<>>-<<
<-<<<--<<>>>><><<----<--<<->>-->>>>><><-->>-->>>>>-->>>--><--<<<<<<>>->>-->><<>><<-><<<<--<<<<<--<<<<<>>--><<
---->>>-->---><--<<>>-->>>--><
-<>><--<<>>--<--<<<--<<<<<--<<---<--<<---->>
>>-->>><--<<<--<<>----->>----<<--<>>>><>><
>><<<<<<>><<<<<<>>-->--->--<--<<-->>-->--<--<<<<<>>-->>-><<<<>>--><<<>>-->>>>-->>--<--<<>>--><<---<<<->>>>--><<--<<
>>>>--><--<<<--<<><<<<--<<<--<<-->>->>>>>>>-->>>--<--<<>-->-<<<<>-->>-->---<<<<<<<>>--><>>--><<--<<>>--<<<--<<
<--<<<--<<<--<<<<->-->>-->>>-->--<>><>>-->>->>--->><<<<
<<<<>>--><--<<--<<>>>--><<<<<
--->>-->--<--<<<<>>-->>>-->->><-->>-->><--<<<<<--<<>>--><--<<->-<<->><--<<>>-->>>-->>><<>--<>>>-->>->>-->-<--<<>>-->>>-->
--<<--<<<-->>><--<<<--<<>>>>-->>>-->-<>>--><<---->><<>>-->-<>>><<<<---<<>>>>-->>>-->><-->>-->--->>>
<<--<--<<<<<--<<><<<<--<<<>>--><--<<<--<<>>>-->>>><<<>>-->--->>-->><>->>-->><--<<>>--><--<<<--<<>>>-->--->>-->>>-->>>>><--<>>--><<<--<<
<--<<<-----<--<<>><->><--<<><><<--<<
>><<<<>>-->>>>>>>-->>>-->>>-->>>--><--<<<>>>>>-->->><<<-->>-->---->>--><-
>><--<<>>--><--<<-->>>>--><<--<<---<<<--<<>><<<<>><><--<<--->>-->>>-<<--<
<<>----->><--<<>><<<<<--<<---<--<<>>--><<<>>>>-->>>>>>>>-->>>
<--<<<<>->>>>--><--<<<--<<---<--<<>>-->-
>>->><--<<>>->>-<<<>>-
<><<->>>-->>>-->-->--><------>>--><<<<<>><<<--<<->>-->->>-->>>-->>>-<<>>>>-<<<<<<>>>>>-->>--><><
->>>><>>--><--<<<>>>>>-->><<->>--><<<-->>--><--<<<<--<<<><--<<<--<<>--><-->>-->>>>>><<>><<-->>><--<<--<<>>-->>>-->>>-->
-->><<--><--<<>--<<<><<<<--<<<<>>>>>--><-<<-<>>--><--<<>>-->>>-->>><<<<-<--<<->>>>-->-->>--><<<--<<<<>>-->
-<<--><<<<-->>-->>>>><<--<<<>-->>--><--<<<--<<<--<<--><>>-->->>-->>-->>-<<-<--<<>><<>>-<<<<<<>><--<<>>><--<<>>--><--<<
>>-->>>>>>-<>><><>>-->><<->><<--<<---<<
>>>--->>>--><<<<>>--><--<<<>>--<<>---<-<>><<--<<>>-->-->>--><--<<<<<<--<--<<
<--<<<->>-->-<<<<<------<<<<<<--<<<--<>>>>-->>>-->--<--<<--<<-><--<<>->><--<<<<>>--><>>-->>>----
>>>>--><<<<<--<<>><<-->>--><<>>><<<
>>--><>>--->><<><<<--<<<--<<>>-->-><--<<-->><<<<--<<>>-->->>--<<<<->>-->--<--<<<<-
<--<<-<--<<->><<<<<<>><<<<>>>>-->>-->>>--><--<<>>-->>>>-->>--<<>><--<<<--<<<<--<<>>--><<<<>>--><--<<>>>
<->>->>-->>><--<<<>>-->->>>--><<<><--<<-<--<<---<--<<---<<>-><>>-->>-<--<<<<>>-->>>-->-<><<-->><--<<>>>>-->>>-->
>>-->>>-->>>>-->>>--><-->>><>>-->---------->><----<<--<---->>--><<>>-->>><<<<--<<---<--<<<--
<<>>--><<><<<<><<<<--<<->>-->
>>><<>>-->>--->><<--<--<<><-<--<<><<<<<-<--<<<<->><--<<----->>>-->><--<<<---<--<<<--<<><--<<>>-->
<--<<>>>-->-<--<<<><--<<<<<--<<--<<>>--><<>>-->>>-->>>>>--><--<<-->>>>>>-->>>-->>>--<<<-<<<>>-->-->>--><<<<----<
<<>>-->><--<<<--<<<--<<->>><<><>>-->>>-->-->><>>--<

0 comments on commit 5064ddd

Please sign in to comment.