updated at 2023. 1. 5. 오후 7:08:54
This commit is contained in:
@@ -17,44 +17,12 @@ class Solution {
|
|||||||
}
|
}
|
||||||
public class Comp implements Comparator<String> {
|
public class Comp implements Comparator<String> {
|
||||||
public int compare(String a, String b) {
|
public int compare(String a, String b) {
|
||||||
int temp = 0, end = Math.min(a.length(),b.length())-1;
|
// int l, r;
|
||||||
int l = Integer.parseInt(a+b), r = Integer.parseInt(b+a);
|
if(a.equals("0")&&b.equals("0")) return 0;
|
||||||
while(true){
|
|
||||||
if(a.charAt(temp) < b.charAt(temp)) return 1;
|
int l = Integer.valueOf((a.charAt(0)=='0')?b:a+b), r = Integer.valueOf((b.charAt(0)=='0')?a:b+a);
|
||||||
else if(a.charAt(temp) > b.charAt(temp)) return -1;
|
if(l>r) return -1;
|
||||||
if(temp < end) temp++;
|
else return 1;
|
||||||
else break;
|
|
||||||
} // 이거 통과헸다는 것은 동일 길이까지 전부 같다는 것.
|
|
||||||
if(a.length()==b.length()) return 0; // 이건 0 0 0 0 대비
|
|
||||||
if(a.length()>b.length()){
|
|
||||||
int tt = end+1, te = b.length(), mm = a.length();
|
|
||||||
// System.out.println(a+" "+b);
|
|
||||||
while(true){
|
|
||||||
if(a.charAt(tt)>b.charAt(tt%te)) return -1;
|
|
||||||
else if (a.charAt(tt)==b.charAt(tt%te)) {
|
|
||||||
if(tt >= mm-1){
|
|
||||||
if(l>r) return -1;
|
|
||||||
else return 1;
|
|
||||||
}
|
|
||||||
else tt++;
|
|
||||||
}
|
|
||||||
else return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
int tt = end+1, te = a.length(), mm = b.length();
|
|
||||||
while(true){
|
|
||||||
if(b.charAt(tt)>a.charAt(tt%te)) return 1;
|
|
||||||
else if (b.charAt(tt)==a.charAt(tt%te)) {
|
|
||||||
if(tt >= mm-1) {
|
|
||||||
if(l<r) return 1;
|
|
||||||
else return -1;
|
|
||||||
}
|
|
||||||
else tt++;
|
|
||||||
}
|
|
||||||
else return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user