Skip to content

Instantly share code, notes, and snippets.

@gmay46
Created December 2, 2018 17:00
Show Gist options
  • Save gmay46/04ed2580c57e9d3932b6161a46ff0a99 to your computer and use it in GitHub Desktop.
Save gmay46/04ed2580c57e9d3932b6161a46ff0a99 to your computer and use it in GitHub Desktop.
advent of code 2018 day 2 part 1 (fuck it edition)
/*
* 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