inblog logo
|
moohyun
    알고리즘문제풀기

    문자열 정렬하기 (2)

    난이도 하
    화낼거양's avatar
    화낼거양
    Mar 21, 2025
    문자열 정렬하기 (2)
    Contents
    정답
     
    출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120911?language=java
     

    문제 설명

    영어 대소문자로 이루어진 문자열 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
    Contents
    정답

    moohyun

    RSS·Powered by Inblog