- 문제 설명
영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. - 제한 사항
0 < my_string 길이 < 100 - Input
"Bcad"
"heLLo"
"Python" - Output
"abcd"
"ehllo"
"hnopty"
- 풀기 전 생각
- toLowerCase 메서드 사용해서 전부 소문자로 바꾸기
- 바뀐 문자열을 char 배열에 담아 반복문 사용해서 오름차순으로 바꾸기
- 반복문 사용해서 char배열 문자열로 합치기 - 내가 작성한 코드
class Solution {
public String solution(String my_string) {
String answer = "";
//문자열 전부 소문자로 바꾸기
answer = my_string.toLowerCase();
//문자열을 char로 나눈 후 알파벳 순서로 정렬하기
char[] cArr = answer.toCharArray();
for (int i = 0; i < cArr.length - 1; i++) {
for (int j = i + 1; j < cArr.length; j++) {
if (cArr[i] > cArr[j]) {
char tmp = cArr[j];
cArr[j] = cArr[i];
cArr[i] = tmp;
}
}
}
//정렬된 char 배열을 문자열로 합치기
String str = "";
for (int i = 0; i < cArr.length; i++) {
str += cArr[i];
}
return str;
}
}
- Array.sort() 사용하기
char 배열도 배열이어서 Arrays.sort 메서드 사용이 가능하다. 복잡하게 for문 사용해서 정렬하지말고 sort 메서드 이용하자.
String answer = "";
answer = my_string.toLowerCase();
char[] cArr = answer.toCharArray();
Arrays.sort(cArr);
String str = "";
for(int i = 0; i < cArr.length; i++) {
str += cArr[i];
}
return str;
'코딩테스트' 카테고리의 다른 글
[백준 2018번] 연속된 자연수의 합 구하기 - 투 포인터 (1) | 2023.04.14 |
---|---|
[백준 11660번] 구간 합 구하기 5 (1) | 2023.04.12 |
[백준 11659번] 구간 합 구하기 4 (0) | 2023.04.12 |
Java를 이용하여 1 ~ N 숫자에서 소수 찾기 (0) | 2023.04.11 |
[프로그래머스] 약수 구하기 (1) | 2022.10.05 |
댓글