Skip to content

Commit 0bb3374

Browse files
committed
issue #27 big Sorting java w/ Explanation
1 parent 15938eb commit 0bb3374

1 file changed

Lines changed: 52 additions & 4 deletions

File tree

Lines changed: 52 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,71 @@
11
package hackerrank;
22

33
import java.util.Arrays;
4+
import java.util.Scanner;
45

56
public class BigSorting {
7+
68
static String[] bigSorting(String[] unsorted) {
9+
//String ํƒ€์ž…์˜ ์ •๋ ฌ์•ˆ๋œ ๋ฐฐ์—ด์„ ์ˆซ์ž์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ˆซ์ž๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฌธ์ œ.
10+
11+
//์ฒซ์‹œ๋„ -์‹คํŒจ-> Exception in thread "main" java.lang.NumberFormatException: For input string: "31415926535897932384626433832795"
12+
/*
13+
//String arr๋ฅผ long arr๋กœ ๋ฐ”๊พผ๋‹ค.
714
long[] arr = new long[unsorted.length];
815
9-
for(int i = 0; i<unsorted.length; i++){
16+
for (int i = 0; i < unsorted.length; i++) {
1017
arr[i] = Long.parseLong(unsorted[i]);
1118
}
19+
20+
//long ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์ •๋ ฌํ•œ๋‹ค.
1221
Arrays.sort(arr);
1322
14-
for(int i=0; i<arr.length; i++){
15-
unsorted[i] = Object.toString(arr[i]);
23+
//์ •๋ ฌํ•œ long๋ฐฐ์—ด์„ String ๋ฐฐ์—ด๋กœ ๋ฐ”๊พผ ๋’ค ๋ฆฌํ„ดํ•œ๋‹ค.
24+
String[] result = new String[unsorted.length];
25+
for (int i = 0; i < unsorted.length; i++) {
26+
result[i] = Long.toString(arr[i]);
1627
}
28+
System.out.println(Arrays.toString(result));
29+
return result;
30+
*/
31+
32+
//sol4 ๋žŒ๋‹ค์‹ + sort
33+
// System.out.println(Arrays.toString(unsorted));
34+
Arrays.sort(unsorted, (x, y) -> {
35+
// System.out.print("์‹œ์ž‘ arr: "+Arrays.toString(unsorted) + " x: "+x+" y:"+y);
36+
if (x.length() == y.length()) {
37+
// System.out.print(" x.compareTo(y): "+x.compareTo(y)+"\n");
38+
return x.compareTo(y); //์ž๋ฆฌ์ˆ˜์— ์ƒ๊ด€์—†์ด ์ฒซ์งธ์ž๋ฆฌ๋งŒ ๋ณด๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
39+
}else {
40+
// System.out.print(" x.length() - y.length(): "+ (x.length() - y.length()) +"\n");
41+
return x.length() - y.length(); //์ž๋ฆฌ์ˆ˜์— ์ƒ๊ด€ํ•œ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
42+
}
43+
});
44+
1745
return unsorted;
1846
}
1947

2048
public static void main(String[] args) {
21-
System.out.println(bigSorting(new String[]{"1", "200", "150", "3"}) + ", ans: [1 3 150 200]");
49+
Scanner sc = new Scanner(System.in);
50+
int n = sc.nextInt();
51+
String[] arr = new String[n];
52+
for (int i = 0; i < n; i++) {
53+
arr[i] = sc.next();
54+
55+
}
56+
arr = bigSorting(arr);
57+
for (int i = 0; i < arr.length; i++) {
58+
System.out.println(arr[i]);
59+
}
60+
sc.close();
61+
/* sample input
62+
6
63+
31415926535897932384626433832795
64+
1
65+
3
66+
10
67+
3
68+
5
69+
*/
2270
}
2371
}

0 commit comments

Comments
ย (0)