Algorithm/프로그래머스

[프로그래머스] Level1) 문자열 내림차순으로 배치하기

햄습햄 2021. 10. 28. 00:30

문제 설명

 

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

 

 

제한 조건

 

  • str은 길이 1 이상인 문자열입니다.

 


풀이 과정 (자바)

 

문자열 s을 char형 배열 arr로 생성했고,

char형 데이터를 담을 tmp에 임시로 arr[0] 값을 넣었다.

 

이중 for문을 돌렸는데

첫 번째 값을 두 번째, 세 번째, ...., 끝값까지 비교해서 가장 큰 값을 맨 앞에 넣어줬다.

이 과정을 전체적으로 진행하여 첫 번째가 가장 큰 값, 마지막이 가장 작은 값으로 처리했다.

 

그리고 char형 배열을 String으로 변환하여 반환했다.

 

 

 

결과

 

 


다른 사람의 풀이

 

* java.util.Arrays를 import 했다. - Arrays.sort()

 

문자열 s을 char형 배열 sol로 생성했다.

sort를 이용해 sol 배열을 정렬했다. (오름차순)

배열 sol을 String으로 변환 후, StringBuilder를 통해 해당 문자열을 뒤집었다.

 

toString() 하여 StringBuilder를 String으로 변환 후, 반환했다.

 

 

기타

 

StringBuilder - reverse 기능이 있다는 것을 알게 되었다. 문자열을 뒤집을 때 StringBuilder - reverse를 이용하면 간단하게 처리를 할 수 있어 편리할 거 같다.