-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathq22.java
More file actions
71 lines (62 loc) · 1.75 KB
/
q22.java
File metadata and controls
71 lines (62 loc) · 1.75 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import java.io.*;
import java.util.*;
import java.math.*;
public class q22 {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
ArrayList<String> s = new ArrayList<String>();
BufferedReader scan = new BufferedReader(new FileReader("src/Project-Euler/p022_names.txt"));
String s1 = scan.readLine();
String[] sa = s1.split(",");
String[] test = {"ZULA", "WORLD", "ITS", "A", "NICE", "DAY"};
sortLines(s, sa);
Iterator<String> t = s.iterator();
BigInteger result = BigInteger.valueOf(0);
int counter = 1;
while(t.hasNext()){
String ss = t.next();
int temp = 0;
for(int i = 1; i < ss.length() - 1; ++i){
temp += ss.charAt(i) - 'A' + 1;
}
result = result.add(BigInteger.valueOf(temp * counter));
++counter;
}
System.out.println(result.toString());
}
public static void printLine(ArrayList<String> s1){
Iterator<String> s = s1.iterator();
while(s.hasNext()){
System.out.println(s.next());
}
}
public static void sortLines(ArrayList<String> s, String[] s1){
for(int i = 0; i < s1.length; ++i){
int j = 0;
if(s.size() == 0){
s.add(s1[i]);
}
else{
while(j < s.size() && alphabetize(s.get(j), s1[i])){
j++;
}
if(j == s.size()) s.add(s1[i]); else s.add(j, s1[i]);
}
}
return;
}
public static boolean alphabetize(String s1, String s2){
//returns whether s1 comes before s2; aka true if s1 precedes s2
if(s1 == "" || s2 == ""){
return true;
}
int length = s1.length() > s2.length() ? s2.length() : s1.length();
for(int i = 0; i < length; ++i){
if((int) s1.charAt(i) - s2.charAt(i) < 0){
return true;
}else if((int) s1.charAt(i) - s2.charAt(i) > 0)
return false;
}
return s1.length() < s2.length();
}
}