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

 

문제 설명

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

 

제한조건

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

 

입출력 예

s return
"Zbcdefg" "gfedcbZ"

 

풀이

function solution(s) {
  // 스프레드 연산자를 배열로 감싸면 split("")를 사용한 것과 같은 효과가 나타난다(각 문자열을 배열로 변환)
  // sort 함수를 사용해 정렬하고, 정렬을 반대(reverse)로 한 뒤 합쳐(join) 하나의 문자열로 만든다
  return [...s].sort().reverse().join('');
}

// 호출
solution("Zbcdefg");  // "gfedcbZ"

 

결과

 

소감

ES6 이후 버전 부터 추가된 스프레드 연산자는 여러모로 유용하게 쓰입니다.

객체를 복사할 떄(깊은복사), 객체를 병합할 때(서로 다른 객체를 하나로 병합), 객체 특정 값 변경할 때(객체의 나머지는 값을 유지), 잔여 연산으로 사용할 때(특정 값을 제외한 나머지를 별도의 변수에 저장) 등에 주로 쓰입니다.

앞으로 코딩할 때나 알고리즘 풀이 시 에 스프레드 연산자를 사용하면 여러모로 유용할 것으로 보입니다.

+ Recent posts