프로그래머스 Lv.1 문자열 내림차순으로 배치하기 JAVA

Study with cocochichi·2023년 11월 4일
0

프로그래머스 Lv.1

목록 보기
16/21
post-thumbnail

문제 설명

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

제한 사항

str은 길이 1 이상인 문자열입니다.

입출력 예

sreturn
"Zbcdefg""gfedcbZ"

풀이코드

import java.util.*;

class Solution {
    public String solution(String s) {
        String answer = "";
        
        // 문자열을 문자 배열로 변환
        char[] chr = s.toCharArray();
        
        // 문자 배열을 정렬 
        Arrays.sort(chr);
        
        // 정렬된 문자 배열을 문자열로 변환
        String str = new String(chr);
        
        // 결과를 뒤집어서 큰 문자부터 작은 문자 순서로 반환
        answer = new StringBuilder(str).reverse().toString();
        
        return answer;
    }
}

✏️ 풀이방법

  1. 문자열을 char[] chr = s.toCharArray();로 문자 배열로 변환

  2. Arrays.sort()를 사용하여 문자 배열을 정렬 (대문자가 소문자보다 작기 때문에 정렬 결과가 큰 문자부터 작은 문자로 순서)

  3. 다시 문자 배열을 문자열로 변환

  4. StringBuilder를 사용하여 문자열 역순으로 만들어줌 ➡️ 문자열로 반환한 후 toString()을 사용하여 answer 변수에 할당

    ⭕return new StringBuilder(new String(chr)).reverse().toString();

✏️ 리뷰

여전히 이런게 너무 어렵다.. 배열을 내림차순 오름차순 공부하고 StringBuilder를 더 자주 써보도록 해야겠다!!!! Arrays.sort() 쓸 때 import java.util 까먹지 말기

Arrays.sort()

: 배열을 오름차순으로 정렬

StringBuilder().reverse()

: StringBuilder 내의 문자열들을 역순으로 변환

0개의 댓글