Created
December 2, 2018 17:00
-
-
Save gmay46/04ed2580c57e9d3932b6161a46ff0a99 to your computer and use it in GitHub Desktop.
advent of code 2018 day 2 part 1 (fuck it edition)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* To change this license header, choose License Headers in Project Properties. | |
* To change this template file, choose Tools | Templates | |
* and open the template in the editor. | |
*/ | |
package advent_of_code_2018_2; | |
import java.io.BufferedReader; | |
import java.io.FileNotFoundException; | |
import java.io.FileReader; | |
import java.io.IOException; | |
import java.util.ArrayList; | |
import java.util.Arrays; | |
import java.util.Collection; | |
import java.util.List; | |
/** | |
* | |
* @author garrett | |
*/ | |
public class Advent_of_code_2018_2 { | |
/** | |
* @param args the command line arguments | |
*/ | |
public static void main(String[] args) throws FileNotFoundException, IOException { | |
int twice = 0; | |
boolean ftwice = false, | |
fthrice = false; | |
int thrice = 0; | |
int count=0; | |
//List<Integer> a = new ArrayList(); | |
int[] letter_count = new int[26]; | |
BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\garrett\\Documents\\NetBeansProjects\\advent_of_code_2018_2\\src\\advent_of_code_2018_2\\input")); | |
try { | |
String line = br.readLine(); | |
//a.add(0,frequency); | |
System.out.println(line); | |
while (line != null) { | |
char[] chars = line.toCharArray(); | |
for(int y=0; y < chars.length;y++){ | |
switch(chars[y]){ | |
case 'a': | |
letter_count[0]++; | |
break; | |
case 'b': | |
letter_count[1]++; | |
break; | |
case 'c': | |
letter_count[2]++; | |
break; | |
case 'd': | |
letter_count[3]++; | |
break; | |
case 'e': | |
letter_count[4]++; | |
break; | |
case 'f': | |
letter_count[5]++; | |
break; | |
case 'g': | |
letter_count[6]++; | |
break; | |
case 'h': | |
letter_count[7]++; | |
break; | |
case 'i': | |
letter_count[8]++; | |
break; | |
case 'j': | |
letter_count[9]++; | |
break; | |
case 'k': | |
letter_count[10]++; | |
break; | |
case 'l': | |
letter_count[11]++; | |
break; | |
case 'm': | |
letter_count[12]++; | |
break; | |
case 'n': | |
letter_count[13]++; | |
break; | |
case 'o': | |
letter_count[14]++; | |
break; | |
case 'p': | |
letter_count[15]++; | |
break; | |
case 'q': | |
letter_count[16]++; | |
break; | |
case 'r': | |
letter_count[17]++; | |
break; | |
case 's': | |
letter_count[18]++; | |
break; | |
case 't': | |
letter_count[19]++; | |
break; | |
case 'u': | |
letter_count[20]++; | |
break; | |
case 'v': | |
letter_count[21]++; | |
break; | |
case 'w': | |
letter_count[22]++; | |
break; | |
case 'x': | |
letter_count[23]++; | |
break; | |
case 'y': | |
letter_count[24]++; | |
break; | |
case 'z': | |
letter_count[25]++; | |
break; | |
} | |
} | |
//System.out.println(Arrays.toString(letter_count)); | |
for(int z = 0; z < 26; z++){ | |
System.out.println(z); | |
if(letter_count[z] == 2 && ftwice != true){ | |
twice++; | |
//System.out.println("twice= "+twice); | |
ftwice = true; | |
} | |
else if(letter_count[z] == 3 && fthrice != true){ | |
thrice++; | |
//System.out.println("thrice= "+thrice); | |
fthrice=true; | |
} | |
if(ftwice == true && fthrice == true) {break;} | |
} | |
letter_count = new int[26]; | |
ftwice = false; | |
fthrice = false; | |
line = br.readLine(); | |
} | |
} | |
finally { | |
br.close(); | |
} | |
System.out.println(twice*thrice); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment