Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 문자열 정렬하기 (2) (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 문자열 정렬하기 (2) (Java/자바)

luke-king 2025. 10. 17. 21:50

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/120911

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

 

풀이.


import java.util.*;

class Solution {
    public String solution(String my_string) {
        
        String[] arr = my_string.split("");
        
        for(int i = 0; i < arr.length; i++){
            arr[i] = arr[i].toLowerCase();
        }
        
        Arrays.sort(arr);
        
        String answer = String.join("",arr);
        
        return answer;
    }
}

이번 문제는 프로그래머스 "문자열 정렬하기 (2)" 문제다.

문제 설명이 어렵지는 않아서 바로 문제 풀이 해보겠다.

 

1. my_string 입력된 값을 split()을 사용해 한 개 문자씩 배열에 넣어준다.

 

2. for문을 통해 arr[] 에 있는 값들을. toLowerCase()로 전부 소문자로 바꿔준다.

 

3. Arrays.sort()로 오름차순 정렬 해준다.

 

4. answer 값 안에 join()을 사용해서 arr[] 값을 문자열로 만들어 주면 끝이다.

 

하지만 이보다 더 가독성 좋고 메모리사용도 적은 코드가 있다. 바로 밑의 코드다.

import java.util.*;

class Solution {
    public String solution(String my_string) {
        
        char[] chars = my_string.toLowerCase().toCharArray();

        Arrays.sort(chars);
        
        return new String(chars);
    }
}

문자열을 문자 배열로 변환과 동시에 소문자로 변형 해준뒤, 오름 차순으로 정렬해준다.

마지막으로 문자열로 변환해서 리턴해주면 끝이다.