프로그래머스 - 정수 내림차순으로 배치하기

Jongleee·2022년 7월 16일
1

알고리즘

목록 보기
8/39
import java.util.*;

class Solution {
    public long solution(long n) {
        // 숫자로 변환하여 한자리씩 배열에 저장
        String[] a = String.valueOf(n).split("");
        // 역순 배열
        Arrays.sort(a, Collections.reverseOrder());
        String b="";
        // 배열을 역순으로 표시
        for (int i = 0; i < a.length; i++) {
            b+=a[i];
        }
        long answer=Long.parseLong(b);
        return answer;
    }
}

다른 분 풀이

import java.util.Scanner;
import java.util.*;

public class DescArr {
    public static void main(String[] args) {

        System.out.println("숫자를 입력하세요");

        Scanner input = new Scanner(System.in);
        long n = input.nextInt();

        // long형 변수 n을 String형 변수 number로 변경
        String number = Long.toString(n);

        // String형 배열 arr에 number의 값을 한글자씩 잘라서 넣기
        String arr[] = new String[number.length()];
        for (int i = 0; i < number.length(); i++){
            arr[i] = number.substring(i, i + 1);
        }

        // 내림차순 정렬
        Arrays.sort(arr, Collections.reverseOrder());

        String result = "";
        for (String i : arr) {
            result += i;
        }

        // Long.parseLong으로 하지 않고, Integer.parseInt로 하면 런타임 에러 발생
        System.out.println(Long.parseLong(result));
    }
}

StringBuilder

  • Stirng은 변경 불가능한 문자열을 생성하지만 StringBuilder는 변경 가능한 문자열을 만들어 준다.
StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("문자열 ").append("연결");

String str = stringBuilder.toString();
System.out.println(stringBuilder);
        System.out.println(str);
  • StringBuilder의 객체를 생성한 후, append()의 인자로 연결하고자 하는 문자열을 넣어서 StringBuilder의 객체를 통해 호출한다.

0개의 댓글