κ°μ₯ ν° μ (with. Java)
βκ°μ₯ ν° μ (with. Java)β λ¬Έμ μ λνμ¬ μμλ³Έ κΈμ λλ€.
μ½λ© ν μ€νΈ λ¬Έμ λ₯Ό νλ©°, νμλ λ¬Έμ μ λν νκ³ μ λ€λ₯Έ νμ΄ λ°©λ²μ μμ보며, μμκ°κ³ μ ν©λλ€.
λ¬Έμ μ λν΄ λ¨Όμ μμλ³΄κ² μ΅λλ€.
λ¬Έμ
0 λλ μμ μ μκ° μ£Όμ΄μ‘μ λ, μ μλ₯Ό μ΄μ΄ λΆμ¬ λ§λ€ μ μλ κ°μ₯ ν° μλ₯Ό μμλ΄ μ£ΌμΈμ.
μλ₯Ό λ€μ΄, μ£Όμ΄μ§ μ μκ° [6, 10, 2]λΌλ©΄ [6102, 6210, 1062, 1026, 2610, 2106]λ₯Ό λ§λ€ μ μκ³ , μ΄μ€ κ°μ₯ ν° μλ 6210μ λλ€.
0 λλ μμ μ μκ° λ΄κΈ΄ λ°°μ΄ numbersκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μμλ₯Ό μ¬λ°°μΉνμ¬ λ§λ€ μ μλ κ°μ₯ ν° μλ₯Ό λ¬Έμμ΄λ‘ λ°κΎΈμ΄ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- numbersμ κΈΈμ΄λ 1 μ΄μ 100,000 μ΄νμ λλ€.
- numbersμ μμλ 0 μ΄μ 1,000 μ΄νμ λλ€.
- μ λ΅μ΄ λ무 ν΄ μ μμΌλ λ¬Έμμ΄λ‘ λ°κΎΈμ΄ return ν©λλ€.
μ μΆλ ₯ μμ
numbers | return |
---|---|
[6, 10, 2] | β6210β |
[3, 30, 34, 5, 9] | β9534330β |
λ¬Έμ μ λν λμ νμ΄
import java.util.Arrays;
class Solution {
public String solution(int[] numbers) {
String[] answer = new String[numbers.length];
for(int i = 0; i < numbers.length; i++){
answer[i] = String.valueOf(numbers[i]);
}
Arrays.sort(answer, (m1, m2) -> (m2 + m1).compareTo(m1 + m2));
if(answer[0].equals("0")){
return "0";
}
return String.join("", answer);
}
}
νμ΄ λ¦¬λ·°
solution λ©μλλ μ μ λ°°μ΄ numbersλ₯Ό μ λ ₯μΌλ‘ λ°μ΅λλ€.
κ²°κ³Όλ₯Ό μ μ₯ν λ¬Έμμ΄ λ°°μ΄ answerλ₯Ό μμ±ν©λλ€. μ΄ λ°°μ΄μ ν¬κΈ°λ numbers λ°°μ΄μ κΈΈμ΄μ λμΌν©λλ€.
for 루νλ₯Ό μ¬μ©νμ¬ numbers λ°°μ΄μ κ° μμλ₯Ό λ¬Έμμ΄λ‘ λ³ννμ¬ answer λ°°μ΄μ μ μ₯ν©λλ€.
Arrays.sort()λ₯Ό μ¬μ©νμ¬ answer λ°°μ΄μ μ λ ¬ν©λλ€. μ λ ¬ κΈ°μ€μ μ£Όμ΄μ§ μ«μλ€μ μ‘°ν©νμ¬ λ§λ€μ΄μ§λ μμ ν¬κΈ°λ₯Ό λΉκ΅ν©λλ€.
λΉκ΅ κΈ°μ€μ λ λ¬Έμμ΄μ ν©μ³μ λΉκ΅νμ λ, ν° κ°μ΄ μμ μ€λλ‘ μ€μ ν©λλ€. μ¦, m2 + m1κ³Ό m1 + m2λ₯Ό λΉκ΅νμ¬ λ΄λ¦Όμ°¨μμΌλ‘ μ λ ¬ν©λλ€.
μ λ ¬λ λ°°μ΄μ 첫 λ²μ§Έ μμκ° β0βμΈ κ²½μ°μλ μ£Όμ΄μ§ μ«μκ° λͺ¨λ 0μΌλ‘λ§ κ΅¬μ±λμ΄ μλ κ²½μ°μ΄λ―λ‘ β0βμ λ°νν©λλ€.
κ·Έλ μ§ μμ κ²½μ°μλ String.join() λ©μλλ₯Ό μ¬μ©νμ¬ μ λ ¬λ λ°°μ΄μ ν©μ³μ λ°νν©λλ€.
μ΄ μ½λλ μ£Όμ΄μ§ μ«μ λ°°μ΄μ μ‘°ν©νμ¬ λ§λ€ μ μλ κ°μ₯ ν° μλ₯Ό λ¬Έμμ΄λ‘ λ°ννλ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.