[프로그래머스 Level 1] 문자열 내림차순으로 배치하기 문제 풀이
❓ 문제
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
🖨️ 입출력 예
💡 풀이
class Solution {
// swap 함수
void swap(char[] data, int a, int b) {
char tmp = data[a];
data[a] = data[b];
data[b] = tmp;
}
// 내림차순 정렬(퀵소트) 함수
void quickSort(char[] data, int l, int r) {
int left = l;
int right = r;
int pivot = data[(l + r) / 2];
do {
while(data[left] > pivot)
left++;
while(data[right] < pivot)
right--;
if(left <= right) {
swap(data, left, right);
left++;
right--;
}
} while (left <= right);
if(l < right)
quickSort(data, l, right);
if(r > left)
quickSort(data, left, r);
}
public String solution(String s) {
char[] arr = s.toCharArray();
quickSort(arr, 0, arr.length - 1);
return new String(arr);
}
}
📊 정확성 테스트 결과
✏️ comment
- 정렬은 퀵정렬로 직접 구현해 봄.
char[] arr = s.toCharArray();
-> 문자열을 문자배열로 만들어줌return new String(arr);
-> 문자 배열을 문자열로 만들어줌.
Author And Source
이 문제에 관하여([프로그래머스 Level 1] 문자열 내림차순으로 배치하기 문제 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yuuuzzzin/프로그래머스-Level-1-문자열-내림차순으로-배치하기-문제-풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)