[프로그래머스] 문자열 내림차순으로 배치하기 / 자바 / Java / stringBuilder
Algorithm/Programmers

[프로그래머스] 문자열 내림차순으로 배치하기 / 자바 / Java / stringBuilder

728x90
반응형

💡solutions 

💬 String.toCharArray()를 사용하여 문자열 s를 char형 배열(arr[ ])로 바꾼다. 

     * 참고로 char형 배열을 하나의 문자열로도 만들 수 있다 -> String s1 = new String(charArr);

💬 arr 배열을 오름차순으로 정렬한다.

💬 stringBuilder을 사용하여 각 문자들을 appned()로 더한 후 문자열을 출력하기 위해 toString()을 사용한다.


stringBuilder을 사용하는 이유

자바에서 String 객체는 변경 불가능하다.

따라서 String 객체끼리 더하는 연산은 메모리 할당과 해제를 발생시켜
성능적으로 좋지 않기 때문에 stringBuilder을 사용한다.
stringBuilder은 String 객체를 더할 때 새로운 객체를 생성하지 않고
자유롭게 기존 문자열을 변경하여 사용할 수 있어 더욱 효율적이다.

 

👨‍💻code 

import java.util.Arrays;


class Solution {
    public String solution(String s) {
        char arr[] = s.toCharArray();
        Arrays.sort(arr);
        StringBuilder sb = new StringBuilder();
        for (int i=arr.length-1; i>=0; i--) {
            sb.append(arr[i]);
        }
        return sb.toString();

    }
}

 

📌description 

 

코딩테스트 연습 - 문자열 내림차순으로 배치하기

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로

programmers.co.kr


문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한 사항
  • str은 길이 1 이상인 문자열입니다.
입출력 예
s                                                                              return
"Zbcdefg" "gfedcbZ"

반응형