프로그래머스 : 문자열 정렬하기 (2)

Digeut·2023년 4월 5일
0

프로그래머스

목록 보기
33/164

❔문제설명

영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.

⚠️제한사항

0 < my_string 길이 < 100

🤔아이디어

replaceAll 이용해서 대문자를 소문자로 다 바꾸고 Arrays.sort 해서 정렬해주면 안될까?

❌틀린코드

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {
        String answer = "";
        my_string = my_string.replaceAll("[A-Z]","[a-z]");
        
        Arrays.sort(my_string);
        answer = my_string;
        return answer;
    }
}

🙄오류

정렬은 문자열로는 안되는구나...?

❌틀린코드2

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {
        String answer = "";
        my_string = my_string.replaceAll("[A-Z]","[a-z]");
        String[] my_stringArr = my_string.split("");
        
        Arrays.sort(my_stringArr);
        String arrToStr = Arrays.toString(my_stringArr);
        answer = arrToStr;
        return answer;
    }
}

🙄오류2

대문자에서 소문자 전환이 되지않았고... - [ ] 이런 기호는 왜..?

❌틀린코드3

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {
        String answer = "";
        my_string = my_string.toLowerCase();
        
        String[] myStrArr = my_string.split("");
        Arrays.sort(myStrArr);
        String myStr = Arrays.toString(myStrArr);
        answer = myStr;
        return answer;
    }
}

🙄오류 3

왜 문자배열로 뜨지 그냥 하나의 문자가 나와야하는데!!!!!!!!!

💡코드풀이

import java.util.Arrays;

class Solution {
    public String solution(String my_string) {
        String answer = "";
        my_string = my_string.toLowerCase();
        
        String[] myStrArr = my_string.split("");
        Arrays.sort(myStrArr);
        //String myStr = Arrays.toString(myStrArr);
        
        StringBuilder builder = new StringBuilder();
        for (String strBulid : myStrArr) {
            builder.append(strBulid).append("");
        }
        String str = builder.toString();
        answer = str;
        return answer;
    }
}

String myStr = Arrays.toString(myStrArr) 방법으로는
하나의 문자로 합쳐지지가 않는것 같아서 StringBuilder을 사용해서 값들을 append하는 방향으로 진행했다. 그러니까 하나의 문자열로 출력됐다!

profile
개발자가 될 거야!

0개의 댓글