Algorithm
[Java] ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
O'mil
2024. 5. 8. 14:49
728x90
๐ ๋งํฌ
์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
๐ ๋ฌธ์ ์ค๋ช
- ์ ์ n์ ๋งค๊ฐ๋ณ์๋ก ์
๋ ฅ๋ฐ์.
n์ ์๋ฆฟ์๋ฅผ ํฐ๊ฒ๋ถํฐ ์์ ์์ผ๋ก ์ ๋ ฌํ ์๋ก์ด ์ ์๋ฅผ ๋ฆฌํด.
๐ ์์
โ๏ธ ํ์ด ์์
- ๋ฐฐ์ด์ ๋ฃ๊ธฐ
- ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
- ์ถ๋ ฅ
๐ป ์ฝ๋
import java.util.*;
class Solution {
public long solution(long n) {
String s = n + "";
int num = Integer.parseInt(s);
Integer[] arr = new Integer[s.length()];
for (int i = 0; i < s.length(); i++) {
arr[i] = num % 10;
num /= 10;
}
Arrays.sort(arr, Collections.reverseOrder());
String answer = "";
for (int i = 0; i < arr.length; i++) {
answer += arr[i];
}
return Long.parseLong(answer);
}
}
๐ก ๊ฒฐ๊ณผ
- ์ ํ์ฑ: 43.8
- ํฉ๊ณ: 43.8 / 100.0
๐ ๋ค๋ฅธ ์ฌ๋์ ํ์ด
import java.util.*;
class Solution {
public long solution(long n) {
String[] arr = String.valueOf(n).split("");
Arrays.sort(arr); // ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
StringBuilder sb = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]); // ๋ฌธ์ ํ๋์ฉ ํฉ์น๊ธฐ
}
return Long.parseLong(sb.reverse().toString());
}
}
- sort์ ๋ ฌ์ ์ํด ์๋ก์ด ๋ฌธ์์ด ๋ฐฐ์ด String arr์ ์์ฑํจ.
- String.valueof(n): ์ ์ → ๋ฌธ์์ด ๋ณํ
- split(""): "" ๋จ์๋ก ๋ฌธ์๋ฅผ ์ชผ๊ฐฌ
- → arr: ["1", "1", "8", "3", "7", "2"]
- ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- StringBuilder ์ ์ธ (๋ฌธ์์ด ๋ํ๊ธฐ ์ํด)
- append ๋ฉ์๋๋ฅผ ํตํด ํ๋์ฉ ํฉ์น๊ธฐ
- reverse() ๋ฉ์๋๋ก ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐ๊พธ๊ณ , toString ๋ฉ์๋๋ฅผ ์ด์ฉํด ๋ฌธ์์ด๋ก ๋ณํํ๋ค.
- Long.parseLong()์ผ๋ก longํ์ผ๋ก ๋ณํ
๐ป ์ฝ๋
1. sort()์์ Collections.reverseOrder() ์ฌ์ฉํด์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๊ธฐ
import java.util.*;
class Solution {
public long solution(long n) {
String[] arr = String.valueOf(n).split("");
Arrays.sort(arr, Collections.reverseOrder());
StringBuilder sb = new StringBuilder();
for (String s: arr) sb.append(s);
return Long.parseLong(sb.toString());
}
}
2. return์์ reverse() ์ฌ์ฉํด์ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๊ธฐ
import java.util.*;
class Solution {
public long solution(long n) {
String[] arr = String.valueOf(n).split("");
Arrays.sort(arr);
StringBuilder sb = new StringBuilder();
for (String s: arr) sb.append(s);
return Long.parseLong(sb.reverse().toString());
}
}
๐Reference
(Java/์๋ฐ) ํ๋ก๊ทธ๋๋จธ์ค Lv1 - ์ ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ฐฐ์นํ๊ธฐ
728x90