영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.
0 < my_string 길이 < 100
replaceAll 이용해서 대문자를 소문자로 다 바꾸고 Arrays.sort 해서 정렬해주면 안될까?
import java.util.Arrays;
class Solution {
public String solution(String my_string) {
String answer = "";
my_string = my_string.replaceAll("[A-Z]","[a-z]");
Arrays.sort(my_string);
answer = my_string;
return answer;
}
}
정렬은 문자열로는 안되는구나...?
import java.util.Arrays;
class Solution {
public String solution(String my_string) {
String answer = "";
my_string = my_string.replaceAll("[A-Z]","[a-z]");
String[] my_stringArr = my_string.split("");
Arrays.sort(my_stringArr);
String arrToStr = Arrays.toString(my_stringArr);
answer = arrToStr;
return answer;
}
}
대문자에서 소문자 전환이 되지않았고... - [ ] 이런 기호는 왜..?
import java.util.Arrays;
class Solution {
public String solution(String my_string) {
String answer = "";
my_string = my_string.toLowerCase();
String[] myStrArr = my_string.split("");
Arrays.sort(myStrArr);
String myStr = Arrays.toString(myStrArr);
answer = myStr;
return answer;
}
}
왜 문자배열로 뜨지 그냥 하나의 문자가 나와야하는데!!!!!!!!!
import java.util.Arrays;
class Solution {
public String solution(String my_string) {
String answer = "";
my_string = my_string.toLowerCase();
String[] myStrArr = my_string.split("");
Arrays.sort(myStrArr);
//String myStr = Arrays.toString(myStrArr);
StringBuilder builder = new StringBuilder();
for (String strBulid : myStrArr) {
builder.append(strBulid).append("");
}
String str = builder.toString();
answer = str;
return answer;
}
}
String myStr = Arrays.toString(myStrArr) 방법으로는
하나의 문자로 합쳐지지가 않는것 같아서 StringBuilder을 사용해서 값들을 append하는 방향으로 진행했다. 그러니까 하나의 문자열로 출력됐다!