Programers코테연습(Java)

[Programmers TIL 4일차] 문자열 정렬하기(2)

코철이 2024. 4. 22. 20:39

1. 문제

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


제한사항

  • 0 < my_string 길이 < 100

 

 

2. 풀이

 

import java.util.Arrays;
class Solution {
    public String solution(String my_string) {
        String answer = my_string.toLowerCase();
        
        char[] temp = answer.toCharArray();
        Arrays.sort(temp);
        
        answer = new String(temp);
        
        return answer;
    }
}

 

이번에는 대문자와 소문자가 섞여서 주어지는 my_string을 소문자로 변경 후 오름차순 정렬하여 출력하는 것이다.

테스트1번 "Bcad"는 "abcd"가 되어야 한다.

B가 대문자이기 때문에 toLowerCase() 함수를 이용해서 소문자로 변경해줘야 한다.

간단하기 my_string.toLowerCase();를 해주면 문자열에 있는 모든 문자들이 소문자로 변경된다.

반대로 my_string.toUpperCase();를 해주면 문자열의 모든 문자들이 대문자로 변경이 된다.

 

그 후 answer변수에 넣어주고 소문자들로 변경된 값들을 정렬해주기 위해 배열로 만들어준다.

배열에 넣어주기 위해서 "bcad"를 toCharArray() 함수를 이용해서 문자배열 temp에 넣어준다.

그 후 배열로 정렬이 가능하니 Arrays.sort(temp);를 이용해 문자배열 temp의 값들을 정렬해준다.

 

숫자의 오름차순은 1,2,3,4,5 ... 순으로 정렬되며 알파벳의 경우도 똑같다. a,b,c,d,e,f .... 순서대로다

 

그리고 배열에서 문자열로 다시 생성을 해주기위해 temp값을 new String()을 통해 answer에 문자열타입으로 넣어주고 answer을 반환해준다.

테스트는 성공이다.