231214 TIL

chillakilla·2023년 12월 14일

문자열 내림차순으로 배치하기

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

입출력 예

솔루션 코드

<script>
function solution(str) {
  return str.split("").sort().reverse().join("");
}
</script>
  • split 을 통해 str을 각각 낱개의 배열로 만들고,
  • sort 를 통해 정렬, reverse 로 그 정렬된 것을 뒤집음.
  • 마지막으로 join 메서드를 사용해서 배열을 문자열로 바꿈.

과정

  1. 처음 구성한 코드
<script>
function solution(str) {
  let reverseStr = str.split("").reverse();
  let trimStr = reverseStr.toString().replaceAll(",", "");
  return trimStr;
}
</script>
  1. 두 번째로 구성한 코드
<script>
function solution2(str) {
  return str.split("").reverse().join("");
}
</script>
  • 해당 2가지의 코드는 console.log(solution("Zbcdefg")); // output 'gfedcbZ';

  • 이 예제 한정에서만 통과가 되고, 다른 예제를 이용하면 통과되지 않는다.

  • 그 이유가 뭘까?

  • 나는 개인적으로 문제에서부터 콕 찝어서 말한 정렬의 부재라고 판단했다.

  • 그렇기에 3번째 시도에서 sort를 집어넣은 후, 코드를 다듬었고 그 결과로 깔끔하게 통과할 수 있었다.

profile
꾸준하려 하는 쉽덕놈

0개의 댓글