JAVA/프로그래머스 코딩테스트 입문

[프로그래머스 LV.0] 문자열 정렬하기 (2)

sundori 2024. 12. 2. 17:48

목차

     

     

    문제 설명

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


     

    제한사항

    • 0 < my_string 길이 < 100

     

    import java.util.*;
    class Solution {
        public String solution(String my_string) {
            List<Character> list = new ArrayList<>();
    
            // 대문자를 소문자로 변환하면서 리스트에 추가
            for (int i = 0; i < my_string.length(); i++) {
                list.add(Character.toLowerCase(my_string.charAt(i)));
            }
    
            // 리스트 정렬
            Collections.sort(list);
    
            // 정렬된 리스트를 문자열로 변환
            StringBuilder sortedString = new StringBuilder();
            for (Character c : list) {
                sortedString.append(c);
            }
            return sortedString.toString();
        }
    }
    import java.util.stream.Collectors; // Collectors를 사용하기 위해 반드시 추가
    import java.util.stream.Stream;     // 필요할 경우 스트림 API의 다른 클래스를 추가로 impor
    class Solution {
        public String solution(String my_string) {
            String result = my_string.chars() // 문자열을 IntStream으로 변환
                                      .map(Character::toLowerCase) // 모든 문자를 소문자로 변환
                                      .sorted() // 정렬
                                      .mapToObj(c -> String.valueOf((char) c)) // 정수를 문자로 변환
                                      .collect(Collectors.joining()); // 문자열로 결합
    
            return result;
        }
    }