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