상세 컨텐츠

본문 제목

[프로그래머스] Lv.1 - 문자열 내림차순으로 정렬하기

알고리즘/프로그래머스

by 으노로 2023. 2. 26. 19:12

본문

안녕하세요.

오늘은 프로그래머스의 코딩테스트 lv.1 단계 중에 문자열 내림차순으로 정렬하기를 공부해보겠습니다.

언어는 Java로 구현하였습니다.

 

문제 설명

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

 

제한 사항

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

입출력 예

s return
"Zbcdefg" "gfedcbZ"

문제 풀이

매개변수 s를 내림차순으로 정렬하기 위해 문자열을 String 배열로 만든 후에 그 배열을 내림차순으로 정렬하고 그걸 다시 String으로 변환하도록 구현하였습니다.

  1. 매개변수 s(String)를 String 배열로 변환한다.
  2. String 배열을 내림차순으로 정렬한다.
  3. 내림차순 된 배열을 다시 String으로 변환한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
 
class Solution {
    public String solution(String s) {
        String answer = "";
 
        String[] arr = s.split("");
 
        Arrays.sort(arr, Collections.reverseOrder());
 
        for(int i = 0; i < arr.length; i++)
        {
            answer += arr[i];
        }
 
        return answer;
    }
}

사용 함수

  • split()
    • 특정문자 및 정규표현식으로 문자열을 나누어 String 배열로 변환하는 함수.
    • 특정 문자가 아닌 문자별로 문자열을 나누기 위해 split("")을 사용하였습니다.
  • Arrays.sort()
    • 배열을 오름차순으로 정렬하는 함수
    • 내림차순으로 정렬하기 위해 Collections.reverseOrder()를 추가하였습니다.

 

마무리 정리

반복문으로 문자열을 하나하나 정렬하는 방법도 있지만 내장 함수를 사용하면 더욱 간편하게 문자열 나누기와 정렬을 할 수 있었습니다.

이상으로 프로그래머스 lv.1 - 문자열 내림차순으로 정렬하기 공부를 마치겠습니다.

감사합니다.

관련글 더보기

댓글 영역