정수 내림차순으로 배치

이준경·2021년 5월 14일
0

<나의 풀이>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
 
class Solution {
    public long solution(long n) {
        long answer = 0;
        String str_n = Long.toString(n);
        char[] str_c = str_n.toCharArray();
        String temp = "";
 
        Arrays.sort(str_c);
 
        for(int i = str_c.length-1; i >= 0; i--) {
            temp += str_c[i];
        }
 
        answer = Long.parseLong(temp);
        return answer;
    }
}
 
cs
  1. char[]로 변환후 정렬
  2. 맨 끝 char[] 부터 string에 대입
  3. long으로 변환 후 반환

<다른사람풀이>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class ReverseInt {
    String res = "";
    public int reverseInt(int n){
        res = "";
        Integer.toString(n).chars().sorted().forEach(c -> res = Character.valueOf((char)c) + res);
        return Integer.parseInt(res);
    }
 
    // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void  main(String[] args){
        ReverseInt ri = new ReverseInt();
        System.out.println(ri.reverseInt(118372));
    }
}
cs

스트림과 람다식을 이용한 풀이

0개의 댓글

관련 채용 정보