문자열 정렬하기 (2)

난이도 하
화낼거양's avatar
Mar 21, 2025
문자열 정렬하기 (2)
Contents
정답
 
 

문제 설명

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

제한사항

  • 0 < my_string 길이 < 100

입출력 예

my_string
result
"Bcad"
"abcd"
"heLLo"
"ehllo"
"Python"
"hnopty"

입출력 예 설명

입출력 예 #1
  • "Bcad"를 모두 소문자로 바꾸면 "bcad"이고 이를 알파벳 순으로 정렬하면 "abcd"입니다.
입출력 예 #2
  • "heLLo"를 모두 소문자로 바꾸면 "hello"이고 이를 알파벳 순으로 정렬하면 "ehllo"입니다.
입출력 예 #3
  • "Python"를 모두 소문자로 바꾸면 "python"이고 이를 알파벳 순으로 정렬하면 "hnopty"입니다.
 
 

정답

 
import java.util.Arrays; class Solution { public String solution(String my_string) { String answer = ""; String lowerStr = my_string.toLowerCase(); int[] numArr = new int[my_string.length()]; for (int i = 0; i < my_string.length(); i++) { numArr[i] = (Integer) Integer.valueOf(lowerStr.charAt(i)); } Arrays.sort(numArr); for (int i = 0; i < numArr.length; i++) { answer += (char) numArr[i]; } return answer; } }
 
  • String lowerStr = my_string.toLowerCase();
    • 입력 문자열을 소문자로 변환하여 lowerStr 변수에 저장합니다.
  • int[] numArr = new int[my_string.length()];
    • 입력 문자열의 길이만큼의 크기를 가진 정수 배열 numArr를 생성합니다.
  • for (int i = 0; i < my_string.length(); i++)
    • 입력 문자열의 각 문자를 순회하는 반복문입니다.
  • numArr[i] = (Integer) Integer.valueOf(lowerStr.charAt(i));
    • 각 문자의 ASCII 코드 값을 numArr 배열에 저장합니다. lowerStr.charAt(i)는 현재 문자를 반환하며, Integer.valueOf() 메서드는 문자를 정수로 변환합니다.
  • Arrays.sort(numArr);
    • numArr 배열을 오름차순으로 정렬합니다.
  • for (int i = 0; i < numArr.length; i++)
    • 정렬된 배열의 각 값을 순회하는 반복문입니다.
  • answer += (char) numArr[i];
    • 정렬된 ASCII 코드 값을 다시 문자로 변환하여 answer 문자열에 추가합니다.
  • return answer;
    • 처리된 결과 문자열을 반환합니다.
Share article

moohyun