๐พ ์๊ณ ๋ฆฌ์ฆ
- compareTo ์ ๋ ฌ ์ดํดํ๊ธฐ ์ด๋ ต๋ค
- compareTo
- ์ซ์์ ๋น๊ต : ํฌ๋ค(1), ๊ฐ๋ค(0), ์๋ค(-1)
- ๋ฌธ์์ด์ ๋น๊ต : ๊ฐ๋ค(0), ๊ทธ ์ธ์ ์์/์์ ๊ฐ ๋ค์ํ๊ฒ ๋ฐํ
- ๋น๊ต๋์์ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ
- ๋ค๋ฅธ ๋ฌธ์์ ๊ฐ์๋งํผ ๋ฆฌํด
- ๋น๊ต๋์๊ณผ ๊ธฐ์ค๊ฐ์ด ์์์๋ถํฐ ๋์ผํ ๋ฌธ์๊ฐ ๋์์ผ๋ง ๋ค๋ฅธ ๋ฌธ์ ๊ฐ์๋งํผ ๋ฆฌํด์ด ๊ฐ๋ฅํ๋ค
- ์ค๊ฐ์ ๊ฐ์ ๋ฌธ์์ผ ๊ฒฝ์ฐ, ๊ฐ๊ฐ์ ๋ฌธ์์ด์์ ๊ฐ์ฅ ๋ฎ์ ์์คํค์ฝ๋์ ์ฐจ์ด๊ฐ์ ๋ฆฌํด.
- ๋น๊ต๋์์ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์์ ๊ฒฝ์ฐ
String str = "abcd";
str.compareTo("ab");
// 2
str.compareTo("c");
//-2
//๊ฐ๊ฐ ๋ฌธ์์ด์ ๊ฐ์ฅ ๋ฎ์ ์์คํค์ฝ๋ ๋ฌธ์ : a์ c
//97 - 99 = -2
๐พ ์๊ฐ ํฌ์ธํธ
- compareTo ํจ์ ์๊ณ ์ฐ์
- comparable ๋ ๊ณต๋ถํด์ผ๊ฒ ๋ค.
- 000์ ์กฐํฉ์ 0์ด๋ฏ๋ก 0์ ๋ํ ์์ธ์ฒ๋ฆฌ๋ฅผ ์ ํด์ฃผ์!
๐พ ์์ค์ฝ๋
import java.io.*;
import java.util.*;
class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] arr = new String[numbers.length];
for(int i=0;i<arr.length;i++){
arr[i] = String.valueOf(numbers[i]);
}
//๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
Arrays.sort(arr, (o1, o2) -> (o2 + o1).compareTo(o1+o2));
if(arr[0].equals("0")){
return "0";
}
StringBuilder sb = new StringBuilder();
for(int i=0;i<arr.length;i++){
sb.append(arr[i]);
}
return sb.toString();
}
}
import java.io.*;
import java.util.*;
class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] arr = new String[numbers.length];
for(int i=0;i<arr.length;i++){
arr[i] = String.valueOf(numbers[i]);
}
//๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
Arrays.sort(arr, new Comparator<String>(){
@Override
public int compare(String a, String b){
return (b+a).compareTo(a+b);
}
})
if(arr[0].equals("0")){
return "0";
}
StringBuilder sb = new StringBuilder();
for(int i=0;i<arr.length;i++){
sb.append(arr[i]);
}
return sb.toString();
}
}
๐ต๐ซ ๊ณต๋ถํด์ผ ํ ์
- ์ด๋ฒ ์ฃผ ์ ๋ ฌ ์๋ฒฝํ๊ฒ ๊ณต๋ถํด์ ์ฝ๋ฉํ ์คํธ ๋ณด๊ธฐ!
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ - Lv.2 (Java) (0) | 2024.10.17 |
---|---|
[BOJ_5379] ํค๋ก๊ฑฐ (์ค๋ฒ 2) - JAVA (0) | 2024.07.19 |
[BOJ_2579]๊ณ๋จ์ค๋ฅด๊ธฐ(์ค๋ฒ 3) - JAVA (0) | 2024.01.07 |
[BOJ_11404] ํ๋ก์ด๋ (๊ณจ๋ 4) - JAVA (0) | 2023.12.23 |
[BOJ_7785]ํ์ฌ์ ์๋ ์ฌ๋(์ค๋ฒ5) - JAVA (2) | 2023.12.16 |