Code Kata
문자열 내림차순 배치하기(Java)
H.S-Backend
2024. 5. 25. 12:27
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
- str은 길이 1 이상인 문자열입니다.
- String s 의 문자열을 toCharArray로 변환한 Char[]str 생성
- Arrays.sort를 사용하여 오름차순 으로 정렬 str[Z] [b] [c] [d] [e] [f] [g]
- String answer = ""; -> StringBuilder answer 로 변형 (answer에 직접 주입시키기 위해서)
- for문의 int i 를 str의 길이부터 거꾸로 돌면서 g+f+e+d+c+b+Z => answer = gfedcdZ 가 된다.
for문이 한번만
반복 순회하며 answer에 입력되는 메모리 효율성
for문이 계속 돌면서
answer객체가 생성이되고 수정이되면서
메모리효율이 좋지않게 나오는것을 확인할 수 있다.
다른사람의 풀이
- 유니코드로 형변환해서
- int형으로 대, 소문자 분리시켜(Sring Upper와String Lower) 정리를 하고
- Array.sort를 사용하여 오름차순으로 대문자는chUpper에 정렬, 소문자는 chLower에 정렬
- 다시 for문을 반복하여 upper에 입력
- lower에 입력 후 마지막에
- return 소문자 +대문자 (lower + upper)로 마무리를 했다.
https://github.com/Hyungs0703/Algorithms_J.S
GitHub - Hyungs0703/Algorithms_J.S: This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https:/
This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - Hyungs0703/Algorithms_J.S
github.com
반응형